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

配置通用的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.jsconfig/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'
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,695评论 19 139
  • 在学习了之前的路由vue-router和状态管理vuex之后,就应该是网络交互了。就学习尤大推荐的axios了。刚...
    VioletJack阅读 40,283评论 18 84
  • 时间2017-03-31 13:43:44Hope’s Blog 原文https://blog.ygxdxx.co...
    萧玄辞阅读 15,344评论 3 16
  • 我们会不自觉的把错误归向别人,把功劳归向自己,出了问题就是别人的责任。马后炮的心里会让人很反感,跟自己无关, 这对...
    有个欧宝阅读 239评论 0 0
  • 下午太阳温暖羊儿从池塘的那头慢慢走到这头加上水里的倒影还有我一共十五只 下午的风比上午大羊儿从树林的这头慢慢走到那...
    葺宝阅读 217评论 0 3

友情链接更多精彩内容