需求:

接口域名是从外部 .json 文件里获取的。

思路:

在开始加载项目前 进行接口域名获取,然后重置 接口域名的配置项。

实现:

1、config/index.js 文件 进行基础配置

import axios from 'axios'

const config = {
requestUrl: 'http://qiniu.eightyin.cn/path.json', //动态域名所在地址
baseUrl: {
dev: '/api/',
pro: 'http://xxx.com/' // 接口域名,会被动态覆盖
}, requestRemoteIp: () => { // 动态获取
return new Promise((resolve, reject) => {
axios.get(config.requestUrl).then(response =>
{ config.baseUrl.pro = response.data.data.path;
config.img.domain = config.baseUrl.pro;
resolve()
}, err => {
reject()
});
});
}
} export default config

2、项目下main.js 文件 进行动态获取

import config from '@/config/index.js'

// 读取接口域名
config.requestRemoteIp().finally(res => {
/* eslint-disable no-new */
new Vue({
el: '#app', router,
components: { App },
template: '<App/>'
})
});

3、请求数据

const instance = axios.create({
baseURL: process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro
})

最新文章

  1. Oracle中执行存储过程call和exec区别
  2. Ruby on Rails 接口无法调试的问题
  3. 招聘:web前端开发(中级、高级均可)
  4. Jenkins进阶系列之——10Publish Over SSH插件
  5. beta发布排序结果
  6. VS中两个常用辅助工具
  7. CXF之七 传输文件
  8. P151、面试题27:二叉搜索树与双向链表
  9. 使用正则表达式匹配JS函数代码
  10. Sum Problem-hdu-1001
  11. Finding the Longest Palindromic Substring in Linear Time
  12. 前端js优化方案(连续更新)
  13. java 入门之八大内置基本类型
  14. RA layer request failed
  15. elasticSearch+spring 整合 maven依赖详解
  16. 分布式系列六: WebService简介
  17. Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Assignment(Gradient Checking)
  18. Linux脚本shell字符串处理
  19. MySQL服务器监控注意事项
  20. Cesium Vue开发环境搭建

热门文章

  1. JVM 学习(一)反射、垃圾回收、异常处理--- 2019年4月
  2. Asp.net Core的Swagger接口根据模块、版本分组
  3. decorator(修饰器)的业务应用
  4. 消费阿里云日志服务SLS
  5. mysql的学习笔记(一)
  6. GlideDemo【Glide3.7.0版本的简单使用以及圆角功能】
  7. Gulp(自动化构建工具 )
  8. Docker最全教程之Ubuntu下安装Docker(十四)
  9. 关于时间的那些事--PHP、JavaScript、MySQL操作时间
  10. 浏览器的同源策略及CORS跨域解决方案 DRF