以前,我在Angular中使用“ proxy.conf.json”代理HTTP请求,效果很好。现在,我想使代理URL动态化,为此我创建了Angular Wiki(https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md)中提到的“ proxy.conf.js”,并添加了以下内容:
const PROXY_CONFIG = [
{
context: [
"/api/*"
],
target: "https://example.com/",
logLevel: "debug",
secure: false,
changeOrigin: true
},
{
context: [
"/login/*"
],
target: "https://example1.com/",
logLevel: "debug",
secure: false,
changeOrigin: true
}
]
module.exports = PROXY_CONFIG;
在“ package.json”中,我添加了以下内容:
"start-dev": "ng serve --proxy-config proxy.conf.js",
但是当我运行此脚本“ npm run start-dev”时,尽管显示“代理已创建”,但它不会从“ proxy.conf.js”文件中读取。
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
10% building 3/3 modules 0 active[HPM] Proxy created: [ '/login/*' ] -> https://example1.com/
URL仍未指向“ https://example.com/”发出http请求,而是指向“ http://localhost:4200/”
有人可以让我知道我是否在这里错过任何事情。
答案 0 :(得分:0)
在您的代理配置中,上下文模式为/login/*
,但是根据控制台输出的实际请求只是/login
,没有尾随部分。
因此,此代理规则可能不匹配,并且开发服务器没有与此相关的本地资源,因此使用404进行回答。
您可以更改上下文或为/login
添加第二个条目。