ini proxy.conf
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ini proxy.conf相关的知识,希望对你有一定的参考价值。
如何在 proxy.conf.json 或 proxy.conf.js 中动态定义端口
【中文标题】如何在 proxy.conf.json 或 proxy.conf.js 中动态定义端口【英文标题】:How to define port dynamically in proxy.conf.json or proxy.conf.js 【发布时间】:2018-02-24 11:58:51 【问题描述】:我有 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
?
附言
http://localhost:8080/api/
是我的后端 API 的 URL。
【问题讨论】:
【参考方案1】:我也没有找到插入 .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脚本中设置环境变量并调用npm run-script start
【讨论】:
【参考方案2】:在.angular.cli.json
....
"defaults":
"serve":
"port": 9000
....
使代理在端口 9000 而不是默认的 4200 上可用。
【讨论】:
它使 Angular 前端在另一个端口上运行,而不是将请求代理到另一个端口。无论如何,编辑文件不是我想要的。我已经可以编辑 proxy.conf.js* 文件了。 我可以,但是...我不想依赖于不同的开发人员的免费 pprts。机器。它是真正的本地参数。这个文件在 git 下,如果一个开发者改变它,根据他的配置,它会破坏所有其他人的工作。我可以在我的后端做到这一点,为什么不在这里尝试呢?从命令行、环境或其他地方获取它!。 @glebiuskv 你找到解决办法了吗? @AlexanderPavlov 否 :(以上是关于ini proxy.conf的主要内容,如果未能解决你的问题,请参考以下文章
proxy.conf.json在Angular 6中无法按预期工作
text nginx的-SSL-反向proxy.conf.txt