vue.js根据代码运行环境选择baseurl的方法


Posted in Javascript onFebruary 28, 2018

配置通用的API前缀可以更好在本地通过接口代理转发获取数据、或者部署时在Nginx中做反向代理,但是项目中一旦涉及大量的需要文件上传的部分(文件上传不走Ajax的方法),我们需要考虑更好管理接口的baseURL,项目中 Ajax 请求用 axios ,原始代码如下

修改前

// 创建axios实例、配置baseURL、超时时间
const service = axios.create({
 baseURL: '/development/api', // 从环境进程中根据运行环境获取的api的base_url
 timeout: 5000         // 请求超时时间
})
/* 保存分配角色 */
export function fetchSaveDisUser (params1) {
 return fetch({
  url: '/user/empower',
  method: 'post',
  params: params1,
  paramsSerializer: function (params) {
   return Qs.stringify(params, { arrayFormat: 'repeat' })
  }
 })
}

/* 上传文件URL 从运行环境process.env中读取API配置 */
export let uploadUrl = '/development/api/doi/analys/upload'

优化方法

找到config/dev.env.js 和 config/prod.env.js,在代码添加变量 API_BASEURL(名字自定义)如下:

module.exports = {
 NODE_ENV: '"production"', // PS:不要复制、开发环境和生产环境有区别
 API_BASEURL: '"/development/api/"' // 需要自己添加的代码
}

然后在需要使用baseURL的地方替换为 process.env. API_BASEURL

修改后代码如下

// 创建axios实例、配置baseURL、超时时间
const service = axios.create({
 baseURL: process.env.API_BASEURL, // 从环境进程中根据运行环境获取的api的base_url
 timeout: 5000         // 请求超时时间
})
/* 保存分配角色 */
export function fetchSaveDisUser (params1) {
 return fetch({
  url: '/user/empower',
  method: 'post',
  params: params1,
  paramsSerializer: function (params) {
   return Qs.stringify(params, { arrayFormat: 'repeat' })
  }
 })
}

/* 上传文件URL 从运行环境process.env中读取API配置 */
export let uploadUrl = process.env.API_BASEURL + '/doi/analys/upload'

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

Javascript 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
SinaEditor使用方法详解
Dec 28 Javascript
jQuery中extend函数的实现原理详解
Feb 03 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
微信小程序图片选择区域裁剪实现方法
Dec 02 Javascript
小程序scroll-view组件实现滚动的示例代码
Sep 20 Javascript
js中的数组对象排序分析
Dec 11 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
vue+element实现批量删除功能的示例
Feb 28 #Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 #Javascript
React 组件转 Vue 组件的命令写法
Feb 28 #Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 #Javascript
Vue中this.$router.push参数获取方法
Feb 27 #Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
Feb 27 #Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 #Javascript
You might like
simplehtmldom Doc api帮助文档
2012/03/26 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
php邮箱地址正则表达式验证
2015/11/13 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
跟老齐学Python之编写类之三子类
2014/10/11 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
python正则实现提取电话功能
2018/02/24 Python
Python画图高斯分布的示例
2019/07/10 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
python3中数组逆序输出方法
2020/12/01 Python
计算机专业个人求职自荐信
2013/09/21 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
个人委托书如何写
2014/09/25 职场文书
八项规定整改方案
2014/10/01 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
《1942》观后感
2015/06/08 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书