vue中Npm run build 根据环境传递参数方法来打包不同域名


Posted in Javascript onMarch 29, 2018

项目开发中,前端在配置后端api域名时很困扰,常常出现:

本地开发环境: api-dev.demo.com

测试环境: api-test.demo.com

线上生产环境: api.demo.com,

这次是在Vue.js项目中打包,教大家个方法:

使用 npm run build -- xxx   ,根据传递参数xxx来判定不同的环境,给出不同的域名配置。

1.项目中/config/dev.env.js修改:

新增:HOST: '"dev"'

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 HOST: '"dev"'
})

2.项目中/config/prod.env.js修改:

获取传递进来的参数:

'use strict'
let HOST = process.argv.splice(2)[0] || 'prod';
console.log(HOST);
module.exports = {
 NODE_ENV: '"production"',
 HOST: '"'+HOST+'"'
}

3.项目中ajax封装的地方修改:

/**
** 设置API接口域名
**/
let apiUrl = '';
// 根据 process.env.HOST 的值判断当前是什么环境
// 命令:npm run build -- test ,process.env.HOST就设置为:'test'
let HOST = process.env.HOST;
HOST = HOST === 'prod' ? '' : '-' + HOST;
apiUrl = 'http://api'+HOST+'.demo.com';
axios.defaults.baseURL = apiUrl;

4.最后敲命令:

npm run build -- test

注意?是2个横杠, 后面跟参数,这样  process.env.HOST 就获取到参数  'test'  了,

apiUrl = 'http://api-test.demo.com'

若线上prod发布打包,npm run build -- prod

apiUrl = 'http://api.demo.com'

总结

以上所述是小编给大家介绍的vue中Npm run build 根据环境传递参数方法来打包不同域名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 Javascript
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
Javascript执行效率全面总结
Nov 04 Javascript
原生JavaScript实现连连看游戏(附源码)
Nov 05 Javascript
jquery实现上下左右滑动的方法
Feb 09 Javascript
JavaScript运算符小结
Jun 03 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
Dec 01 Javascript
javascript实现unicode与ASCII相互转换的方法
Dec 10 Javascript
JavaScript实现简单Tip提示框效果
Apr 20 Javascript
详解vue-router 命名路由和命名视图
Jun 01 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
layui表单验证select下拉框实现验证的方法
Sep 05 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 #Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 #Javascript
Vue.js 表单控件操作小结
Mar 29 #Javascript
js传递数组参数到后台controller的方法
Mar 29 #Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 #Javascript
Vue项目中如何引入icon图标
Mar 28 #Javascript
JavaScript中的E-mail 地址格式验证
Mar 28 #Javascript
You might like
ZF等常用php框架中存在的问题
2008/01/10 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
Flask数据库迁移简单介绍
2017/10/24 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
《金钱的魔力》教学反思
2014/02/24 职场文书
体育教师求职信
2014/05/24 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书