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同时打包出两个环境的项目包了。

相关推荐
Dilettante2583 天前
编译期魔法:自定义 Webpack Loader 将函数调用结果"内联"为静态字符串
webpack·前端工程化
sunny_6 天前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
用户83040713057018 天前
SPA 首屏加载速度慢怎么解决?
vue.js·webpack
codingWhat8 天前
手把手系列之—— 自定义 Loader 和 Plugin
webpack·前端工程化
2301_8169978810 天前
Webpack基础
前端·webpack·node.js
凯里欧文42711 天前
极简版前端版本检测方案
前端·webpack
RichardLau_Cx11 天前
零依赖!纯前端 AI 辅助病例管理系统 aiCaseManage:无后端也能实现诊疗行为核验
前端·人工智能·前端开发·localstorage·医疗科技·ai辅助开发·零依赖项目
全马必破三14 天前
Webpack知识点汇总
前端·webpack·node.js
天若有情67314 天前
从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案
前端·异常处理·前端开发·async·异步·await·异步编程
长路 ㅤ   17 天前
优化篇之AI Chat响应换行渲染效果不生效
前端开发·markdown渲染·事件流·ai对话·换行处理