因为项目测试的需要,我需要给测试人员一个项目的测试环境版本和生产环境版本,两个版本的区别就是请求的接口地址不一样而已,一开始,我是在webpack配置了不同的命令,让测试去打包,比如:使用npm run test 打包测试版本,使用npm run build打包生产环境的版本,可是测试嫌麻烦,说让弄成配置文件形式的 ,直接改配置文件就可以改接口地址的那种。

想了一阵子没想到方法,同事过来看了看说,,把接口地址挂载window全局对象下面不就行了,在同事 的点拨下,瞬间知道该咋做了,,好吧,是我想的太复杂了

简单的做法:

1.在项目根目录下的static文件夹下新建一个config.js(因为static文件夹下的东西在执行打包的时候会复制到打包后的目录里),在里边写:

window.serverAPI={

url:"http://www.xxx.com",

timeout:5000

}

2.在入口index.html 里 引入config.js

3.在项目中配置axios就可以这样:

let http = axios.create({

baseURL: window.serverAPI.url,

timeout: window.serverAPI.timeout

});

然后 测试 拿去用的话 就可以自己去改config.js里的url 来改接口地址啦

第二种方法(推荐)(20190530更新):

将接口配置成json  并将api.json文件放在static文件夹下:

{

"onlineServer": {

"enabled": "true",

"name": "onlineServer",

"api": "http://www.xxx.com"

},

"testServer": {

"enabled": "false",

"name": "testServer",

"api": "http://xxx.xxx.xx.xx"

}

}

上方是我定义的格式 ,onlineServer是线上接口的配置,testServer是测试服务器的配置,程序里边 通过enabled属性来判断使用哪个配置.

在vue入口文件 (一般就是main.js),先去获取 api.json ,获取到后再去实例化Vue,代码如下:

const loadApiConfig = new Promise((resolve, reject) => {

let o = require('../static/api.json');

if (o){

resolve(o);

}else {

reject("api获取失败")

}

});

loadApiConfig.then(res=>{

let apiConfig = {};

for (let p in res) {

if (res.hasOwnProperty(p)) {

//判断 enabled 是true 就使用这个配置

if (res[p].enabled === "true") {

apiConfig = res[p];

}

}

}

console.log(apiConfig);

console.log("获取api成功");

//创建一个axios实例 配置刚刚获取的到api 地址等 参数 并挂载到Vue原型链上 在组件中就可以 用this.$http 去请求数据了

Vue.prototype.$http = axios.create({

baseURL: apiConfig.api,

timeout: apiConfig.timeout,

headers: {

"Content-Type": "application/json"

}

});

// 实例化vue

new Vue({

el: '#app',

router,

components: {App},

template: ''

});

}).catch(e =>{

console.error(e)

})

3+

1.如需转载本站原创文章,请务必注明文章出处并附上链接,非常感谢。

2.本站用于记录个人 工作、学习、生活,非商业网站,更多信息请 点击这里

“vue项目打包后可以配置接口地址的方法” 有 2 条评论

我的config/index.js里面有一个地址,那个地方需不需要进行修改

0

什么地址,,,

0

发表评论电子邮件地址不会被公开。

评论

姓名

电子邮件

站点

vue项目接口地址暴露_vue项目打包后可以配置接口地址的方法相关推荐

  1. vue项目打包后生成一个配置文件可以修改打包后的服务器api地址

    vue项目打包后生成一个配置文件可以修改打包后的服务器api地址 问题描述:vue项目打包上线之后,如果要改服务器api地址,只能在源码更改然后重新打包发布,为了解决这个问题,我们可以在static增 ...

  2. vue项目打包后 修改配置

    前言 在使用vue.js开发前端项目时,再结合webpack搞起各种依赖.各种插件进行开发,无疑给前端开发带来了很多便捷,就在解决跨域这个问题上,相信众多用vue.js的前端同僚们同我一样尝到了甜头, ...

  3. win10电脑自动配置ipv4地址169怎么办?win10电脑关闭自动配置ipv4地址的方法

    win10电脑自动配置ipv4地址169怎么办?win10电脑关闭自动配置ipv4地址的方法 具体的解决方法如下: 1.打开小娜搜索,输入cmd,然后选择命令提示符右击以管理员身份运行. 2.输入:n ...

  4. vue 如何调用微信分享_Vue项目通过JSSDK调用微信分享接口

    最近在做一个公司微信分享项目的功能,毕竟第一次做,对于小白也是个挑战,特此记录一下自己的开发过程,以便以后查阅.(转载请标明出处,码字好辛苦的qaq) 使用步骤: 1.绑定域名: 一开始当然是去查微信 ...

  5. vue项目打包后直接修改ip地址

    在 Vue 项目的配置文件中可以设置 devServer.host 属性来指定开发服务器的主机名.打包后的项目文件中并不包含该配置,所以需要使用其他方式来修改 IP 地址. 一种方法是在本地的 hos ...

  6. vue中使用pdf.js插件打包后不显示插件及打包后动态修改接口地址

    最近写了一个项目 需要在线展示pdf 实现方法是下载该插件并解压放到 static文件夹中 地址:http://mozilla.github.io/pdf.js/ 我在项目中使用iframe嵌套的方式 ...

  7. 配置vue打包后可以更改接口地址

    有时候我们会遇到这种情况,项目开发完打包后,安排其他同事需要去客户现场集成,我们在去之前也不知道客户的服务器地址,这时候就可以把接口地址配置成打包后也可以更改,这样会方便许多,下面是具体流程: 1. ...

  8. vue添加html开启服务器_Vue 项目(HTML5 History 模式) 部署服务器

    相信很多小伙伴在用Vue-cli安装的脚手架开发的时候,在开发环境中项目可以很正常的运行,但是进入到生产环境,编译打包后,放入服务器,项目就不正常了,会出现空白页或者路由跳转404等问题.遇到这些问题 ...

  9. vue使用ts 引入组件_vue项目中使用ts(typescript)入门教程

    最近项目需要将原vue项目结合ts的使用进行改造,这个后面应该是中大型项目的发展趋势,看到一篇不错的入门教程,结合它并进行了一点拓展记录之.本文从安装到vue组件编写进行了说明,适合入门. 1.引入T ...

最新文章

  1. 如何理解jdk8通过行为参数化传递代码
  2. 2021届图像/计算机视觉算法提前批的面经 | 附内推码
  3. 基于matlab的退化图像复原(三)------维纳滤波复原
  4. 成为表情包大帝,仅需几十行python代码,简单易学
  5. 调查报告:工人们并不担心将来会被AI取代
  6. 软件构建之链接应用--链接脚本
  7. winform 转 JAVA_C#转java
  8. python极客项目编程_Python极客项目编程 ([美]Mahesh Venkitachalam) 中文pdf完整版
  9. P7115-[NOIP2020]移球游戏【构造】
  10. 表单和iframe的使用
  11. java八大基本类型介绍
  12. maven命令mvn package指定jar包名称
  13. 休闲娱乐的计算机配置,入门APU主机配置 1199元双核APU家用娱乐电脑配置推荐
  14. License for package Android SDK Build-Tools 28.0.3 not accepted.
  15. 使用宝塔面板部署node.js后台:koa2+mysql+vue
  16. OneNote for win10防止英文自动切换字体工具
  17. 流量不清零:为何让三运营商的垄断越走越紧
  18. 汉字风格迁移篇--KAGAN:一种中国诗歌风格转换的方法
  19. 如何做数据分析报告?
  20. 【字符串处理函数】sprintf与snprintf

热门文章

  1. 爱思唯尔云论坛:疫情挑战下的大数据与人工智能研究
  2. gitclone 一个tag的地址_一个无锁队列和FreeList实现
  3. 02 | Spring Data Common 之 Repository 如何全面掌握?
  4. Apexchart整数多出小数点
  5. 《操作系统》实验报告——进程管理
  6. MyBatis Plus——忽略某个实体类属性和数据库表字段之间的映射关系
  7. 汇编语言——十种寻址方式
  8. CG CTF WEB 单身一百年也没用
  9. XCTF WEB disabled_button
  10. Little Sub and Balloons