今天分享下自己使用 webpack + vue-cli 搭建项目的时候,是如何区分开发、测试、展示、生产这四种环境的。
我们随便百度怎么区分环境,会有很多种答案。但大多数都是让在 config 文件夹下新建一个 test.env.js 和 pre.env.js,然后再去修改一大堆的配置,显得非常的麻烦。今天给大家分享自己一直在用的一种区分环境的方法。
本方法是无意间看到的一位博主的讲解,自己感觉很方便,如不喜欢请参考别人的方法。
1. 主要环境区分
我是把开发环境和其他三种环境区分开了,开发环境就是用来开发,然后其他三种根据需求不同用不同的环境打包。
我这么做主要是为了区分请求的 BASE_URL 来分别对应后台的不同库。所以 config 里面的文件还是原来样子。
好了,下面直接贴代码。
2. dev.env.js 代码如下
-
-
module.exports = {
-
NODE_ENV: ‘“development”’,
-
EVN_CONFIG: ‘dev’,
-
BASE_URL: ‘“你的服务器地址”’
-
}
3. prod.env.js 代码如下
-
-
var obj = {}
-
const target = process.env.npm_lifecycle_event;
-
if (target == ‘test’) {
-
obj = {
-
NODE_ENV: ‘“testing”’,
-
EVN_CONFIG: ‘test’,
-
BASE_URL: ‘“你的服务器地址”’,
-
}
-
} else if (target == “pre”) {
-
obj = {
-
NODE_ENV: ‘“presentation”’,
-
EVN_CONFIG: ‘pre’,
-
BASE_URL: ‘“你的服务器地址”’
-
}
-
} else {
-
obj = {
-
NODE_ENV: ‘“production”’,
-
EVN_CONFIG: ‘prod’,
-
BASE_URL: ‘“你的服务器地址”’
-
}
-
}
-
module.exports = obj;
4. package.json scripts 代码如下
-
“scripts”: {
-
“dev”: “webpack-dev-server --inline --progress --config build/webpack.dev.conf.js”,
-
“test”: “node build/build.js”,
-
“pre”: “node build/build.js”,
-
“build”: “node build/build.js”
-
},
5. 使用方式
- 开发环境:npm run dev
- 测试环境:npm run test
- 展示环境:npm run pre
- 生产环境:npm run build
如有疑问欢迎留言提出