项目开发中有三个环境,分别是测试环境,预生产环境,生产环境
如题,根据项目需要,目前需要打包,通过vue-cli中的npm run build 打包,这个只能打包到一个环境,但是,项目中有三个环境,每个环境的接口地址都不同,根据process.env分别进行接口的调用,但是如何处理打包呢?
目前的解决方案是复制了几个,build下面的build.js ,感觉这样并不是最优的解决方案,
不知是否有更完美的解决方案?
感激不尽!
项目开发中有三个环境,分别是测试环境,预生产环境,生产环境
如题,根据项目需要,目前需要打包,通过vue-cli中的npm run build 打包,这个只能打包到一个环境,但是,项目中有三个环境,每个环境的接口地址都不同,根据process.env分别进行接口的调用,但是如何处理打包呢?
目前的解决方案是复制了几个,build下面的build.js ,感觉这样并不是最优的解决方案,
不知是否有更完美的解决方案?
感激不尽!
前提:通过 vue-cli 使用 webpack 项目模板创建的项目
先研究一下 build 目录下的内容,然后设置不同的环境变量,API 路径、端口以及 vue-router 的 base 等,还可以通过 webpack define plugin 将环境变量传递到前端
如果想有人带着研究 build 目录下的内容,可以参加我的讲堂讲座《学习 Vue 你需要知道的 webpack 知识》,另外也可以参加极客学院的同名课程
let baseUrl = ''
if (process.env.NODE_ENV === 'development') {
baseUrl = 'http://dev.xxx.com/Api'
} else {
baseUrl = '//www.xxx.com/Api'
}
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
解决此类问题还得靠自己,大神一般都不给力
vue-cli 中build中build.js部分代码做如下修改
build中webpack.prod.conf.js做如下修改
config中的index.js 部分代码修改如下
config中 dev.env.js 修改
开发环境用的是测试接口,通过merge进行拷贝
在config中新建sit.env.js
在config中新建ppe.env.js
生产环境是prod.env.js vue-cli 自带
安装cross-env
package.json 修改
end