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 相关文章推荐
js实现文字截断功能
Sep 14 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
JS实现的相册图片左右滚动完整实例
Nov 23 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
javascript帧动画(实例讲解)
Sep 02 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
Vue自定义指令实现checkbox全选功能的方法
Feb 28 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
vue中promise的使用及异步请求数据的方法
Nov 08 Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 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
提问的智慧
2006/10/09 PHP
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
使用php实现截取指定长度
2013/08/06 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
Python编写检测数据库SA用户的方法
2014/07/11 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
求职信内容怎么写
2014/05/26 职场文书
购房委托书
2014/10/15 职场文书
民用住房租房协议书
2014/10/29 职场文书
内勤岗位职责范本
2015/04/13 职场文书
兴趣班停课通知
2015/04/24 职场文书