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 面向对象编程(2) 定义类
May 18 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
Oct 12 Javascript
js密码强度检测
Jan 07 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
socket.io学习教程之基础介绍(一)
Apr 29 Javascript
刷新页面后让控制台的js代码继续执行
Sep 20 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 Javascript
vue实现轮播图帧率播放
Jan 26 Vue.js
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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
简单了解python的内存管理机制
2019/07/08 Python
python正则-re的用法详解
2019/07/28 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
VC++笔试题
2014/10/13 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
煤矿机修工岗位职责
2014/02/07 职场文书
志愿者活动总结报告
2014/06/27 职场文书
市场部岗位职责范本
2015/04/15 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书