网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么在vuecli中通过命令行传参实现多环境配置-创新互联

怎么在vue cli 中通过命令行传参实现多环境配置?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联公司专注于企业全网营销推广、网站重做改版、禹王台网站定制设计、自适应品牌网站建设、html5商城网站定制开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为禹王台等各大城市提供网站开发制作服务。

首先在根目录下面创建一个vue.config.js文件,如图

怎么在vue cli 中通过命令行传参实现多环境配置 

vue.config.js代码如下:

const webpack = require('webpack')
const environment = require('./build/environment')
module.exports = {
 baseUrl: '/wxperp/',
 configureWebpack: {
 plugins: [
 new webpack.DefinePlugin({
 'process.env.STAGE': JSON.stringify(environment.stage),
 'process.env.LOCAL_URL': JSON.stringify(environment.localUrl)
 })
 ]
 }
}

new webpack.DefinePlugin的作用是允许你创建一个在编译时可以配置的全局常量

然后在根目录创建一个build文件夹,里面创建一个environment.js的文件

怎么在vue cli 中通过命令行传参实现多环境配置 

environment.js代码如下:

const os = require('os')
// 获取命令行变量
const configArgv = JSON.parse(process.env.npm_config_argv)
const original = configArgv.original.slice(1)
const stage = original[1] ? original[1].replace(/-/g, '') : ''
// 本地ip地址
let localUrl
try {
 const network = os.networkInterfaces()
 localUrl = network[Object.keys(network)[0]][1].address
} catch (e) {
 localUrl = 'localhost'
}
localUrl = 'http://' + localUrl + '/'

module.exports = {
 stage, localUrl
}

这个stage就是你输入的变量,比如你输入 npm run serve -sit 那么stage的值就为sit

这个localUrl就是你本地的ip,不过很多人应该用不到,我们公司比较特殊,开发的时候,接口请求的地址都是请求的自己本地服务器, 如果不自动获取本地ip,那么每个同事都得在配置文件中保留一份自己得ip地址,很麻烦,所以就自动获取了.

接下来再src目录下面创建一个config.js,记得在main.js中引用这个config.js

怎么在vue cli 中通过命令行传参实现多环境配置 

environment.js代码如下:

(() => {
 const urlMap = {
 local: process.env.LOCAL_URL + 'api',
 sit: 'http://xxx.xxx.xxx:xxxx/sit/api',
 uat: 'http://xxx.xxx.xxx:xxxx/uat/api',
 prod: 'http://xxx.xxx.xxx:xxxx/prod/api'
 }
 //sit,uat,prod
 let stage = process.env.STAGE
 //development,production
 const nodeEnv = process.env.NODE_ENV
 //nodeEnv为production并且stage不存在默认为生产环境
 if (nodeEnv === 'production' && !stage) {
 stage = 'prod'
 } else {
 //stage不存在默认为本地开发环境
 stage = stage || 'local'
 }
 console.log('ip:' + urlMap[stage])
})()

为什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

看完上述内容,你们掌握怎么在vue cli 中通过命令行传参实现多环境配置的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:怎么在vuecli中通过命令行传参实现多环境配置-创新互联
标题网址:http://bjjierui.cn/article/docejc.html

其他资讯