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.ui.draggable中文文档
Nov 24 Javascript
json2.js的初步学习与了解
Oct 06 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
jQuery之ajax删除详解
Feb 27 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
JavaScript Date对象详解
Mar 01 Javascript
JS使用JSON作为参数实例分析
Jun 23 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
微信小程序转化为uni-app项目的方法示例
May 22 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
destoon整合UCenter图文教程
2014/06/21 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
javascript工具库代码
2012/03/29 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
python如何统计序列中元素
2020/07/31 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python 文件转成16进制数组的实例
2018/07/09 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
python学生管理系统学习笔记
2019/03/19 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
温馨提示标语
2014/06/26 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
围城读书笔记
2015/06/26 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python