vue@cli3如何配置来区别生产环境,开发环境,测试环境

vue脚手架3和vue脚手架2的最大区别就是3所有的配置都是在vue.config.js目录下做配置,配置之前要清楚开发环境,测试环境,生产环境。这样也方便自己打包,不需要改域名地址。同时也清楚哪些配置是在开发环境需要的,哪些配置在测试,生产环境需要的。
新建文件(在根目录下新建):.env.development,.env.test,.env.production
分别表示:开发环境文件,测试环境文件,生产环境文件。
在这里插入图片描述
如上就是我在leanmp-web2新建的文件。
那么.env.development,.env.test,.env.production这三个文件要用来干嘛呢?
.env.development代码如下:

VUE_APP_URL=''  //域名地址。
//在这个文件下可以定义其他关于开发环境有关的变量,与VUE_APP开头

.env.test代码如下

NODE_ENV='production'			//表示生产环境
VUE_APP_CURRENTMODE='test'		//用来区别生产环境还是测试环境

.env.production代码如下

NODE_ENV='production'
VUE_APP_CURRENTMODE ='production'		

.env.test文件和.env.production文件最大的区别就是定义一个变量用来区别测试还是生产
还有一个配置文件config.js

if(process.env.NODE_ENV == 'development'){
  // 开发环境接口配置
	var app_id = process.env.VUE_APP_app_id;
	var logoutUrl = process.env.VUE_APP_logoutUrl; //登出地址
	var baseURL=process.env.VUE_APP_URL;		//mu
	var tokenUrl= process.env.VUE_APP_tokenUrl; //免登入的本地地址
}else if(process.env.VUE_APP_CURRENTMODE =='test'){
  // uat环境下的配置
	var app_id = process.env.VUE_APP_app_id;
	var logoutUrl = process.env.VUE_APP_logoutUrl;
	var baseURL=process.env.VUE_APP_URL;		
	var tokenUrl= process.env.VUE_APP_tokenUrl; 
}else if(process.env.VUE_APP_CURRENTMODE =='production'){
  // 生产环境下的配置
	var app_id = process.env.VUE_APP_app_id;
	var logoutUrl = process.env.VUE_APP_logoutUrl;
	var baseURL=process.env.VUE_APP_URL;		
	var tokenUrl= process.env.VUE_APP_tokenUrl; 
}

package.js的配置启动命令:

 	"serve": "vue-cli-service serve",						//开发的
    "pro": "vue-cli-service build --mode production",		//生产的
    "start": "npm run serve",								//开发的
	"test": "vue-cli-service build --mode test"				//测试的

注意的是:–mode production;production取决于你VUE_APP_CURRENTMODE怎么命名。

好的,以下是对应的配置: 1. 生产环境配置: 在`package.json`文件,添加如下命令: ``` "build": "vue-cli-service build --mode production" ``` 在根目录下创建`vue.config.js`文件,配置如下: ```javascript module.exports = { // 配置生产环境的打包输出目录 outputDir: 'dist', // 配置生产环境的publicPath publicPath: '/', // 打包时不生成.map文件,减少打包体积 productionSourceMap: false, // 生产环境下的webpack配置 configureWebpack: config => { // 在生产环境使用CDN加速,减少打包体积 if (process.env.NODE_ENV === 'production') { config.externals = { 'vue': 'Vue', 'vue-router': 'VueRouter', 'element-ui': 'ELEMENT', 'axios': 'axios', } } } } ``` 2. 开发环境配置: 在`package.json`文件,添加如下命令: ``` "serve": "vue-cli-service serve --mode development" ``` 3. 测试环境配置: 在`package.json`文件,添加如下命令: ``` "test": "vue-cli-service build --mode test" ``` 在根目录下创建`vue.config.js`文件,配置如下: ```javascript module.exports = { // 配置测试环境的打包输出目录 outputDir: 'dist-test', // 配置测试环境的publicPath publicPath: '/', // 打包时不生成.map文件,减少打包体积 productionSourceMap: false, // 测试环境下的webpack配置 configureWebpack: config => { // 在测试环境使用CDN加速,减少打包体积 if (process.env.NODE_ENV === 'test') { config.externals = { 'vue': 'Vue', 'vue-router': 'VueRouter', 'element-ui': 'ELEMENT', 'axios': 'axios', } } } } ``` 以上就是生产、开发和测试环境配置,同时也可以通过`process.env.NODE_ENV`变量来区分不同的环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值