看到所有答案后,没有什么能帮助我......
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"
}
请帮帮我...
答案 0 :(得分:5)
process
是一个变量,可让您访问服务器。
在任何情况下,您都不应该在Angular应用程序中使用它:它可以在您的节点服务器上使用。
如果这样做,这意味着运行应用程序的任何人都可以看到您的环境变量。例如,这包括您的API密钥。
答案 1 :(得分:0)
我正在使用dotenv文件在Angular中设置环境,我不知道这是否与您遇到的情况相同。那就是我请求我的环境变量的地方。
在使用fs.writeFile
进行编译之前,我使用节点脚本动态地设置了环境文件。在那里我可以得到process.env
,也要感谢'dotenv'npm软件包。