vue-cli proxy 配置使用命令行参数报错

发布于 2022-09-12 23:11:41 字数 1763 浏览 17 评论 0

添加一条命令携带参数(代理转发接口的地址)

// 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"
我的参数和-- 之间有空格 去除空格后不再报错了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦途 2022-09-19 23:11:41

不好意思 自己折腾出来原因了

"devserve": "vue-cli-service serve -- http://****.0.174.xip.io"
改为
"devserve": "vue-cli-service serve --http://****.0.174.xip.io"

npm script 传参 -- 后去除空格就不报错了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文