这篇文章主要介绍Vue项目中如何运用webpack动态配置打包多种环境域名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在如今前后端分离,各种框架盛行的前端界,对项目的打包要求也越来
这篇文章主要介绍Vue项目中如何运用webpack动态配置打包多种环境域名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
在如今前后端分离,各种框架盛行的前端界,对项目的打包要求也越来越复杂,本人分享一个vue项目里,根据命令行输入不同的命令,打包出不同环境域名的方法。
1. 安装插件 cross-env,npm install cross-env --save -dev
,用于配置命令行输入命令。
2. 修改package.JSON里的script命令:
配置了test(测试),ready(预发布),prod(正式)三种环境,npm run build 默认设置成 npm run build:prod,也可以根据自己需求,配置更多的命令,参数自定。网上看到有人去修改node_ENV这个默认的参数,配置文件里有很多地方都引用了这个参数。本人认为这个默认参数可以不改,自己重新增加一个参数就行(这里增加一个BUILD_ENV参数)。
"scripts": {
"dev": "WEBpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"build": "npm run build:prod",
"build:test": "cross-env NODE_ENV=production BUILD_ENV=test node build/build.js",
"build:ready": "cross-env NODE_ENV=production BUILD_ENV=ready node build/build.js",
"build:prod": "cross-env NODE_ENV=production BUILD_ENV=prod node build/build.js"
},
3. 修改config目录下的prod.env.js
里面的默认配置是这样:只有一个NODE_ENV
'use strict'
module.exports = {
NODE_ENV: '"production"',
}
修改后的配置:
'use strict'
const BUILD_ENV = process.env.BUILD_ENV
let baseUrl
switch (BUILD_ENV) {
case 'test':
baseUrl = 'api.test.com'
break;
case 'ready':
baseUrl = 'api.ready.com'
break;
case 'prod':
baseUrl = 'api.prod.com'
break;
}
module.exports = {
NODE_ENV: '"production"',
BUILD_ENV: '"' + BUILD_ENV + '"',
baseUrl: '"' + baseUrl + '"',
}
修改的配置增加了BUILD_ENV和baseUrl两个属性, 属性值记得拼接双引号 ,process.env.BUILD_ENV就是命令行里输入的BUILD_ENV的值,再根据BUILD_ENV
进行相应的判断。在项目里,就可以通过process.env
拿到prod.env.js暴露出去的3个属性。比如接口文件,就需要process.env.baseUrl来动态修改不同环境域名。
以上是“vue项目中如何运用webpack动态配置打包多种环境域名”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网VUE频道!
--结束END--
本文标题: vue项目中如何运用webpack动态配置打包多种环境域名
本文链接: https://www.lsjlt.com/news/78211.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0