Webpack一键打包多个环境

1. 安装打包插件

安装如下插件,以便可以在打包命令中设置环境变量区分不同的环境。

javascript 复制代码
npm install --save-dev cross-env

2. 配置打包命令

在package.json中配置正式环境和测试环境打包命令,同时添加一个命令同打包两个环境。

javascript 复制代码
// package.json
"scripts": {
	"dev": "vue-cli-service serve",
	"lint": "vue-cli-service lint",

	"prod": "rimraf dist_prod && cross-env BUILD_ENV=prod NODE_ENV=production vue-cli-service build", // 正式环境包
	"test": "rimraf dist_test && cross-env BUILD_ENV=test NODE_ENV=production vue-cli-service build", // 测试环境包
	"build": "rimraf dist_prod dist_test && cross-env BUILD_ENV=prod NODE_ENV=production vue-cli-service build &&  cross-env BUILD_ENV=test NODE_ENV=production vue-cli-service build" // 一键打包命令
},

3. 配置打包输出

在vue.config.js中添加打包输出配置,其中正式环境打包输出到dist_prod文件夹,测试环境打包输出到dist_test文件夹。

javascript 复制代码
// vue.config.js

const outputDir = "dist_" + process.env.BUILD_ENV;

if(process.env.BUILD_ENV=="prod"){
	process.env.VUE_APP_BASE_API = "https://api.xxxx.com"      // 正式环境地址
}else if(process.env.BUILD_ENV=="test"){
	process.env.VUE_APP_BASE_API = "https://test_api.xxxx.com" // 测试环境地址
}


module.exports = {
	outputDir: outputDir,

}

通过以上3步,就可以执行npm run build同时打包出两个环境的项目包了。

相关推荐
augenstern41610 小时前
webpack重构优化
前端·webpack·重构
Dontla15 小时前
何时需要import css文件?怎么知道需要导入哪些css文件?为什么webpack不提示CSS导入?(导入css导入规则、css导入规范)
前端·css·webpack
积极向上的龙1 天前
首屏优化,webpack插件用于给html中js自动添加异步加载属性
javascript·webpack·html
Attacking-Coder1 天前
前端面试宝典---webpack面试题
前端·面试·webpack
水煮白菜王2 天前
深入理解 Webpack 核心机制与编译流程
前端·webpack·node.js
大G哥2 天前
项目中利用webpack的require.context实现批量引入/导入图片
前端·webpack·node.js
森哥的歌2 天前
CSS Layer 详解
css·css3·web开发·前端开发·样式表
巴巴_羊3 天前
webpack和vite区别
前端·webpack·node.js
破烂公司一级特派员3 天前
前端开发实战:用React Hooks优化你的组件性能
性能优化·实战·react·前端开发·hooks
samroom5 天前
Webpack基本用法学习总结
前端·学习·webpack