vue.js - vue.config.js 中的 devServer 代理错误地映射 url
问题描述
我正在开发一个 vue/cli 3 项目。我vue.config.js
的是
module.exports = {
publicPath: process.env.NODE_ENV == 'production' ? '/admin/' : '/',
devServer: {
proxy: {
'/serveradmin': {
target: 'http://localhost:8080/serveradmin',
},
"/assets/*": {
target: "http://localhost:8080/assets",
logLevel: 'debug',
changeOrigin: true,
secure: false,
},
},
},
};
使用curl -v -X "HEAD" http://localhost:8081/assets/css/main.css
,我得到一个 404。控制台显示:
App running at:
- Local: http://localhost:8081/
- Network: http://192.168.1.155:8081/
Note that the development build is not optimized.
To create a production build, run npm run build.
[HPM] HEAD /assets/css/main.css -> http://localhost:8080/assets
我试过摆弄 pathRewrite,它不会改变结果。将代理密钥更改为"/assets"
没有任何区别。我究竟做错了什么?
解决方案
该target
属性应该是原始路径附加到的基本 URL。使用您当前的配置,请求将针对http://localhost:8080/assets/assets/css/main.css
(注意两个assets
)。
/assets
从目标 URL中删除后缀:
// target: "http://localhost:8080/assets",
target: "http://localhost:8080",
推荐阅读
- jenkins - Tomcat在Jenkins安装中有什么意义?/ Jenkins中的Tomcat有什么用?
- javascript - 如何正确地将条件类添加到 Alpine JS x-for 模板?
- vba - VBA IF 单元格 VALUE LENGTH 标准
- python - 使用 cv2 获取绘制线的长度 - python
- django - Django poll 有很多选项如何限制可见性?
- python - Python - 遍历数据框列表以创建新变量
- javascript - 如何检查 div 和 php 脚本的结果是否不同,如果不同,请将 div 替换为 PHP 脚本的结果?
- c++ - 如何在 C++ 中将一行分成不同的变量
- mongodb - 如何计算MongoDb中每组的平均文档数?
- node.js - 尝试在 rpi4 上安装更好的 sqlite3 时收到错误消息