node.js – 如何在proxy.conf.json或proxy.conf.js中动态定义端口

我有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的URL.

最佳答案 我也没有找到插入.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

点赞