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

相关推荐
祈澈菇凉6 小时前
Webpack的持久化缓存机制具体是如何实现的?
前端·webpack·gulp
Pro_er1 天前
Vue3 数据响应式原理与高效数据操作全解析
vue·前端开发
懒羊羊我小弟1 天前
Webpack 基础入门
前端·webpack·rust·node.js·es6
刽子手发艺2 天前
Selenium+OpenCV处理滑块验证问题
opencv·selenium·webpack
懒羊羊我小弟2 天前
常用Webpack Loader汇总介绍
前端·webpack·node.js
优联前端2 天前
DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)
javascript·pycharm·ai编程·前端开发·优联前端·deepseek
Pro_er3 天前
深入浅出 Vue3:组件与模板基础全解析
vue·前端开发
真的很上进3 天前
【1.8w字深入解析】从依赖地狱到依赖天堂:pnpm 如何革新前端包管理?
java·前端·vue.js·python·webpack·node.js·reactjs
Pro_er5 天前
Vue3 基础概念与环境搭建
vue·前端开发
SuperherRo5 天前
信息收集-Web应用&JS架构&URL提取&数据匹配&Fuzz接口&WebPack分析&自动化
javascript·webpack·自动化·fuzz