我有angular4应用程序,出于开发目的,我使用npm run start
开始,start
定义为"start": "ng serve --proxy=proxy.conf.json"
。我也有
{
"/api/**": {
"target": "http://localhost:8080/api/"
}
}
在proxy.conf.json
中定义。
有没有办法动态定义端口或整个URL。喜欢npm run start --port=8099
?
PS
http://localhost:8080/api/
是我的后端API的网址。
答案 0 :(得分:2)
我也没有找到插值.json文件的方法,但是可以使用.js文件
例如
proxy.conf.js
var process = require("process");
var BACKEND_PORT = process.env.BACKEND_PORT || 8080;
const PROXY_CONFIG = [
{
context: [
"/api/**"
],
target: "http://localhost:"+BACKEND_PORT+"/api/
},
];
module.exports = PROXY_CONFIG;
向package.json添加新命令(注意.js不是.json)
"startOn8090": "BACKEND_PORT=8090 && ng serve --proxy=proxy.conf.js"
或仅在您的shell脚本中设置env变量并调用npm run-script start
答案 1 :(得分:0)
在.angular.cli.json
....
"defaults": {
"serve": {
"port": 9000
}
}
....
使代理在端口9000上可用,而不是默认的4200。