vue项目中同时启动两个命令

因为想启动一个命令同时执行json-server mock的数据和打开前端页面,
--mode mock是想根据 process.env.XXX获取不同的环境。
vue根节点下.env.mock
NODE_ENV=mock
VUE_APP_URL=http://localhost:3000
*只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。
npm install concurrently --save

package.json中

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "server": "json-server --watch Mock/db.json",
    "serve:mock": "concurrently \"npm run server\" \"vue-cli-service serve --mode mock\""
  },
这种npm run serve:mock报警告,下面这种没解决。


[1] WARNING Compiled with 1 warning
[1]
[1] warning
[1]
[1] DefinePlugin
[1] Conflicting values for 'process.env.NODE_ENV'。

改为:

 "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "server": "json-server --watch Mock/db.json --port 3001",
    "test": "concurrently \"npm run server\" \"vue-cli-service serve --mode test\""
  },
.env.test 下:
NODE_ENV = test
VUE_APP_MODE = test
VUE_APP_URL=http://localhost:3000
npm run test不报错
返回的process.env.NODE_ENV :
{
  BASE_URL: "/",
   NODE_ENV: "development",
   VUE_APP_MODE: "test",
   VUE_APP_URL: "http://localhost:3000"
}
和我想要的有差异,本来打算根据NODE_ENV做判断。
现在就是创建.env.dev, .env.pro,根据启动命令获取不同的VUE_APP_URL服务器地址。
 

 

posted @ 2023-05-14 14:28  Webwhl  阅读(548)  评论(0编辑  收藏  举报