本文档目的在于帮助对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. 关于zipfile解压出现的字符编码问题

    使用zipfile解压文件时,出现了中文乱码问题,具体解决方法有两个,直接上代码吧. def deco_zip(path, file_path): os.mkdir(file_path) # 方式一 ...

  2. sublim text3中的一些设置

    {    "dictionary": "Packages/Language - English/en_US.dic",    "font_face&q ...

  3. Gym - 100989

    B Although Haneen was able to solve the LCS problem, Dr. Ibrahim is suspicious about whether she rea ...

  4. (转)博弈 SG函数

    此文为以下博客做的摘要: https://blog.csdn.net/strangedbly/article/details/51137432 ---------------------------- ...

  5. jmeter之线程组间变量的传递二

    1.线程组设置先后顺序 2.获取正则匹配值 3.设置全局属性 4.其他线程组使用该全局属性 5.调试查看结果方式

  6. javascript 定时任务封装

    /** * 定时任务 * 间隔时间,执行次数,要带的参数,要执行的函数. */ var TimingTask = function(time,count,param,fun){ this.id = - ...

  7. SSH Intro - Remove entry

    ssh-keygen -f "/home/frank/.ssh/known_hosts" -R ec2-54-222-218-195.cn-north-1.compute.amaz ...

  8. GitHub+Hexo+gulp搭建博客网站

    一.前期准备 1.注册GitHub账号. 不做说明 2.创建仓库 创建一个新的仓库来放置我们的文件. 3.下载安装Node.js https://nodejs.org/en/   两个版本,选择右边那 ...

  9. ode45求解微分方程(MATLAB)

    首先介绍一下ode45的格式: [t,y] = ode45(odefun,tspan,y0) [t,y] = ode45(odefun,tspan,y0,options) [t,y,te,ye,ie] ...

  10. PHP unlink删除本地中文名称的文件

    由于编码不一样,用unlink()方法删除本地中文名称的材料之前,必须先转码,才能删除成功. 核心代码如下: //删除本地的议题材料(本地上传的材料)             if($local_ma ...