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

相关推荐
全栈探索者7 小时前
@Component + struct = 你的新函数组件——React 开发者的鸿蒙入门指南(第 2 期)
react·harmonyos·arkts·前端开发·deveco studio·鸿蒙next·函数组件
realhuizhu15 小时前
为什么程序员配出的颜色像"斑斓的灰"?因为你还在靠直觉
前端开发·ai工具·ui设计·deepseek·程序员提升
layman05286 天前
webpack5 css-loader:从基础到原理
前端·css·webpack
Marshmallowc6 天前
为什么 Webpack 要打包?从 HTTP/1.1 限制到 HTTP/2 多路复用原理详解
前端·http·webpack
森林的尽头是阳光7 天前
打包配置优化
webpack
心柠8 天前
webpack
前端·webpack·node.js
夏河始溢11 天前
一八二、webpack、grunt、gulp、rollup、parcel、vite 对比介绍
前端·webpack·gulp
某柚啊11 天前
解决 minimatch 类型报错问题
前端·webpack·npm
bin915314 天前
(文后附完整代码)html+css+javascript 弓箭射击游戏项目分析
前端·javascript·css·游戏·html·前端开发