node.js - 无法找到名称 'process' angular 5
看了所有答案后,什么也没帮到我……
baseUrl.interceptor.ts
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let baseurl = process.env.baseurl || 'http://test.com/users';
console.log(baseurl);
return next.handle(req);
}
tsconfig.json
"typeRoots": [
"node_modules/@types"
]
package.json
"dependencies": {
"@angular/animations": "^5.1.0",
"@angular/common": "^5.1.0",
"@angular/compiler": "^5.1.0",
"@angular/core": "^5.1.0",
"@angular/forms": "^5.1.0",
"@angular/http": "^5.1.0",
"@angular/platform-browser": "^5.1.0",
"@angular/platform-browser-dynamic": "^5.1.0",
"@angular/router": "^5.1.0",
},
"devDependencies": {
"@angular/cli": "1.6.4",
"@angular/compiler-cli": "^5.1.0",
"@angular/language-service": "^5.1.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
...
"ts-node": "~3.2.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
以及下面的错误:
请,帮帮我,有人吗...
答案#1
process 是一个变量,它让你可以访问你的服务器。
在任何情况下,你都不应该在你的 Angular 应用中使用它:它是为你的 Node 服务器而设计的。
如果你那样做,这意味着运行你的应用程序的任何人都可以看到你的环境变量。例如,这包括你的 API 密钥。
答案#2
我正在使用带有 dotenv 文件的 Angular 设置我的环境,我不知道这是否与你的情况相同。这就是我请求我的环境变量的地方。
我在编译前通过一个 node 脚本动态设置环境文件,使用 fs.writeFile。在那里我可以获取 process.env,也可以通过 'dotenv' npm 包获取。
