添加一条命令携带参数(代理转发接口的地址)
// package.json
"scripts": {
"dev": "vue-cli-service serve",
"serve": "vue-cli-service serve",
"devserve": "vue-cli-service serve -- http://****.0.174.xip.io",
...
},
接收参数(通过打印 参数接收正常)
// vue.config.js
let [,,,, proxyTarget] = process.argv
...
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: proxyTarget, // 使用参数
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
}
执行命令
npm run devserve
错误提示
ERROR Failed to compile with 1 error 10:25:04 AM
This dependency was not found:
* E:\xxx-cloud-web\http:\****.0.174.xip.io in multi ./node_modules/_webpack-dev-server@3.11.2@webpack-dev-server/client?http://192.168.2.149:4001&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./http:/****0.174.xip.io
To install it, you can run: npm install --save E:\xxx-cloud-web\http:\****0.174.xip.io
What
Why
How
//------------------更新1
修改 target为固定值 如下
执行npm run serve 正常
执行npm run devserve依旧报同样的错
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: `http://192.168.2.230:8443`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
}
说明这里proxy不是取值的问题,是命令行传参的问题
//------------------更新2
排除proxy.target参数错误后,我在想是否是传参问题,发现别的传参如
"build:preview": "vue-cli-service build --mode preview"
我的参数和-- 之间有空格 去除空格后不再报错了
不好意思 自己折腾出来原因了
npm script 传参 -- 后去除空格就不报错了