vue项目webpack中Npm传递参数配置不同域名接口


Posted in Javascript onJune 15, 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'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
javascript实现数独解法
Mar 14 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
第一次接触神奇的Bootstrap表单
Jul 27 Javascript
解析ajaxFileUpload 异步上传文件简单使用
Dec 30 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
js实现计时器秒表功能
Dec 16 Javascript
JS+CSS实现3D切割轮播图
Mar 21 Javascript
WebPack工具运行原理及入门教程
Dec 02 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 #Javascript
vue和webpack安装命令详解
Jun 15 #Javascript
Webpack devServer中的 proxy 实现跨域的解决
Jun 15 #Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 #Javascript
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 #Javascript
vue和webpack打包项目相对路径修改的方法
Jun 15 #Javascript
webpack公共组件引用路径简化小技巧
Jun 15 #Javascript
You might like
PHP 中的批处理的实现
2007/06/14 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
js日历功能对象
2012/01/12 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
python 实现归并排序算法
2012/06/05 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
Python中无限循环需要什么条件
2020/05/27 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
招商业务员岗位职责
2013/12/16 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
工程承包协议书范本
2014/09/29 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
英语演讲开场白
2015/05/29 职场文书
企业财务管理制度范本
2015/08/04 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript