通过vue-cli中的npm run build 打包,这个只能打包到一个环境,在实际工作中可能有生产环境,预发布环境甚至更多,每个环境的接口地址都不同,每次都需要手动修改接口地址,非常繁琐。那我们怎么才能做到执行不同的命令打不同的包呢?下面是我在实际工作中的一个解决方案:
1.npm install cross-env –save-dev
2.在package.json的scripts标签下配置一系列命令,如下所示:
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "cross-env NODE_ENV=production node build/build.js --env=production", //生产环境打包命令
"build-uat": "cross-env NODE_ENV=development node build/build.js --env=development" //测试环境打包命令
},
cross-env是为了解决windows不支持NODE_ENV=development的设置方式。
这个迷你的包能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。
3.在config文件中的dev.env.js中配置测试环境接口;在pro.env.js中配置生产环境接口;
dev.env.js:
module.exports = {
NODE_ENV: '"development"',
hosturl:''
}
pro.env.js:
module.exports = {
NODE_ENV: '"production"',
hosturl:''
}
4.配置build.js