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 相关文章推荐
浅析JavaScript中的CSS属性及命名规范
Nov 28 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
May 30 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
element-ui 设置菜单栏展开的方法
Aug 22 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
微信公众平台获取access_token的方法步骤
Mar 29 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
Jun 20 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
vue实现输入框自动跳转功能
May 20 Javascript
js+canvas绘制图形验证码
Sep 21 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高手?学会“懒惰”的编程
2006/12/05 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php实现生成验证码实例分享
2016/04/10 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
css配合jquery美化 select
2013/11/29 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
跟老齐学Python之类的细节
2014/10/13 Python
python实现折半查找和归并排序算法
2017/04/14 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
工业自动化专业毕业生推荐信
2013/11/18 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
学历证明样本
2015/06/16 职场文书
爱国主义电影观后感
2015/06/18 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang