在index.html页面中有一个脚本标记,我需要指向一个本地文件,该文件将获得对外部文件的反向代理。
这里使用的jquery有一个占位符,因为这是我想到的第一件事,它将被托管在cdn上。我实际上没有在我的项目:D中混合使用angular和jquery。
HTML
<script type="text/javascript"
src="fake/jquery-3.3.1.slim.min.js"></script>
angular CLI代理
const PROXY_CONFIG = [{
context: ["/fake/jquery-3.3.1.slim.min.js"],
target: "http://code.jquery.com/jquery-3.3.1.slim.min.js",
secure: true,
logLevel: "debug"
}];
module.exports = PROXY_CONFIG;
但这会在localhost:4200/fake/jquery-3.3.1.slim.min.js
处抛出404。
我在Powershell中确实收到“代理尝试”消息。 [HPM] GET /fake/jquery-3.3.1.slim.min.js -> http://code.jquery.com/jquery-3.3.1.slim.min.js
我也尝试了context: ["fake/*"]
,但也尝试了404,并且没有触发任何代理消息。
答案 0 :(得分:0)
我很近。我需要一个pathRewrite,因为CLI击中目标时会保留文件夹fake
,因此CLI试图从https://code.jquery.com/fake/jquery-3.3.1.slim.min.js
获取jquery。
我还想要secure: false
,因为它允许所有证书而不是像我最初那样告诉CLI期望什么。
而且,因为它不是本地主机,所以我们想changeOrigin: true
。
const PROXY_CONFIG = [{
context: ["/fake/"],
target: "https://code.jquery.com/",
pathRewrite: {
"^/fake/": ""
},
secure: false,
logLevel: "debug",
changeOrigin: true
}];