本文档目的在于帮助对vue了解比较少的同学,能够快速配置vue应用中的接口地址。方便项目切换服务环境后,重新修改多组件的http请求地址。

一、前言

  我们在上一篇文章分享了vue-cli项目基本搭建(可点击进入查看)。

  本篇文章我们分享 vue 配置全局对象。在我们平时开发项目的时候,大多数会进行数据交互,这一应用就会使用到交互模块,往往请求的url地址就随着项目模块的增多写在每个模块中,这样的缺点不用我来说,相信大家都知道:模块多了、环境多了很难以维护、修改接口地址,并且很容易出错,哪里多了一个符号或者少了一个就会请求不成功。我们今天分享的小方法就是为了解决这一问题。代码非常简单易懂,意在自己开发项目的时候很快就可以拿过来使用,也为了帮助广大前端爱好者多方位理解vue。话不多说直接上代码。

二、如何配置

思路:

1、配置全局Api其实就是在全局抛出一个公共对象、我们在src下新建一个文件夹 interface 里面 创建一个 index.js 文件用来存储全局Api对象。

2、编写index.js

interface/index.js

// 配置主机地址和端口号(可以有多个,需要测试那个环境字节打开那个base即可)
let base = "http://10.110.147.194:8088"
// let base = "http://34.231.59.44:37653"
// let base = "http://34.231.59.45:37654"
// let base = "http://34.231.59.46:37655"
// let base = "http://34.231.59.47:37656" // 在线api接口路径,需要和项目后台确认
let online_url = {
overall:base + "/report/queryNewOverView",

  //service-volume-controller : Service Volume Controller
totalVolume: base + "/report/visitVolume/totalVolume",
channelCompare: base + "/report/visitVolume/channelCompare",   //user-data-controller : User Data Controller
repeatUser: base + "/report/users/repeatUser",
userChannelCompare: base + "/report/users/userChannelCompare",
userDistribution: base + "/report/users/userDistribution",
userVolumeTrend: base + "/report/users/userVolumeTrend",

  
  //efficiency-controller : Efficiency Controller
solvedRate: base + "/report/efficiency/solveRate",
solvedQuestion: base + "/report/efficiency/solveQuestion",
solveQuestionFloat: base + "/report/efficiency/solveQuestionFloat",
transferredRate: base + "/report/efficiency/transferredRate",
transferredRateF: base + "/report/efficiency/transferredRateF",
transferredQuestion: base + "/report/efficiency/transferredQuestion",
transferredQuestionF: base + "/report/efficiency/transferredQuestionF",

  //kg-performance-controller : Kg Performance Controller
question: base + "/report/kgperformance/domain&question",
questionF: base + "/report/kgperformance/questionF",   //session-follow-controller : Session Follow Controller
handTime: base + "/report/sessionfollow/handTime",
handTurns: base + "/report/sessionfollow/handTurns",
dialogueStage: base + "/report/sessionfollow/dialogueStage",
customerjourney: base + "/report/sessionfollow/customerjourney", //select /report/queryCountryAndChannel
domainIntent: base + "/report/auxiliary/domain_intent",
queryCountryAndChannel: base + "/report/auxiliary/queryCountryAndChannel",
partExport: base + "/report/partExport000" } //导出online_url对象
export default online_url

3、既然是全局环境都可调用的Api接口地址,那么一定要在全局引用

src/main.js

// 引入vue模块,引入index接口地址对象
import Vue from 'vue'
import App from './App'
import Api from "@/interface/index" // 将Api对象绑定在vue实例的原型上
Vue.prototype.$Api = Api
Vue.use(ElementUI)
Vue.config.productionTip = false /* eslint-disable no-new */
let gvm = new Vue({
el: '#app',
router,
Api,
components: { App },
template: '<App/>'
})

4、在项目中任何一个vue文件中我们都可以用 this.$Api 来访问接口地址,例如

最后:

  本文档意在与帮助初学者快速构建vue项目,虽没什么技术含量。但不要随意转载,如需转载保存,请署上 转载地址。谢谢配合。

vue-cli项目接口地址可配置化(多环境部署)一处修改多处适用的更多相关文章

  1. 改造@vue/cli项目为服务端渲染-ServerSideRender

    VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...

  2. 使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)

    使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development.production) --mode 指定环境模式 ...

  3. vue项目接口地址的定义

    对于接口地址域名我们经常会遇到,那么如何去定义呢: 只要在config/dev.env.js中定义变量NODE_ENV就行啦 在.vue文件中的引用方式如下: 嗯,就是这样简单~~~~

  4. vue新建项目之标准路由配置--父子嵌套界面

    配置路由所有用到的地方总共四步或者说四处 1.index.js(src--router--index.js) 父子界面嵌套---需要配置子路由 import Vue from 'vue' import ...

  5. Vuex内容解析和vue cli项目中使用状态管理模式Vuex

    中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...

  6. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、yml属性配置、多环境配置、自定义properties配置

    1 IntelliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到 ...

  7. vue开发项目详细教程(第一篇 搭建环境篇)

    最近做vue做项目碰到了不少坑,看了三天文档便开始上手做项目了,不是我牛b,是因为项目紧,我没有时间去深入学习,所以只能一边学一边做了. 我要做的项目是一个官方网站(包括管理后台),也因为是我第一次使 ...

  8. Vue.js 项目接口管理

    在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口,如何定义呢? 本文使用vue-cli生成的项目举例. 第一步.在src目录下新建一个文件夹http,在http目录下建 ...

  9. 【vue】---项目接口管理---【巷子】

    一.前言 在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口 假设后端的文档分成了以下几个模块 1.发现模块 2.个人信息模块 3.商品模块 4.评论模块 ...... ...

随机推荐

  1. UVA - 11388 唯一分解定理

    题意:给出G和L,求最小的a使得gcd(a,b)=G,lcm(a,b)=L 显然a>=G,所以a取G,b要满足质因子质数为L的同次数,b取L //此处应有代码

  2. b站弹幕的爬取以及词云的简单使用

    一.B站弹幕的爬取 1.分析发现,其弹幕都是通过list.so?=cid这个文件加载出来的,所以我们找到这个文件的请求头的请求url, 2. 打开url就能看到所有的评论 3. 上代码,解析 #!/u ...

  3. PHP foreach ($arr as &amp;$value)

    foreach ($arr as &$value) 看到一个有意思的东西: <?php $arr = ['1', '2', '3', '4']; foreach ($arr as &am ...

  4. 弹出table页面--hq

    function queryRelation(tableID,prosourceID){ //弹出页面  debugger; initqueryRelationGrid(tableID,prosour ...

  5. (转)linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制

    ulimit命令查看和更改系统限制 ulimit命令详解 ulimit用于shell启动进程所占用的资源,可以用来设置系统的限制 语法格式 ulimit [-acdfHlmnpsStvw] [size ...

  6. gulp优化hexo方法

    gulp通过对站点使用的静态资源进行压缩,来优化网站的访问速度. 首先安装gulp以及所需要的模块: npm install gulp -g npm install gulp-htmlclean gu ...

  7. git使用问题及解决方法

    1. 设置pull默认rebasegit config --global pull.rebase true 2. 问题解决:Unlink of file '.git/objects/pack/pack ...

  8. TOJ 2641 Gene

    描述 How can millions of different and complex structures be built using only a few simple building bl ...

  9. mysql存储过程嵌套循环并分页处理数据

    业务背景:公司存证产品升级,随着数据量的增加,存证产品线按业务分表,导致以往的存证关联数据需要做数据同步更新.版本发布前,通过当前存储过程解决数据升级问题. ##创建存证文档关联情况下更新所用存储过程 ...

  10. [转]mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

    本文转自:http://www.cnblogs.com/shootingstar/p/5629668.html 1.mvc5+ef6+Bootstrap 项目心得--创立之初 2.mvc5+ef6+B ...