vue-cli项目接口地址可配置化(多环境部署)一处修改多处适用
本文档目的在于帮助对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项目接口地址可配置化(多环境部署)一处修改多处适用的更多相关文章
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- 使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)
使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development.production) --mode 指定环境模式 ...
- vue项目接口地址的定义
对于接口地址域名我们经常会遇到,那么如何去定义呢: 只要在config/dev.env.js中定义变量NODE_ENV就行啦 在.vue文件中的引用方式如下: 嗯,就是这样简单~~~~
- vue新建项目之标准路由配置--父子嵌套界面
配置路由所有用到的地方总共四步或者说四处 1.index.js(src--router--index.js) 父子界面嵌套---需要配置子路由 import Vue from 'vue' import ...
- Vuex内容解析和vue cli项目中使用状态管理模式Vuex
中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...
- SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、yml属性配置、多环境配置、自定义properties配置
1 IntelliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到 ...
- vue开发项目详细教程(第一篇 搭建环境篇)
最近做vue做项目碰到了不少坑,看了三天文档便开始上手做项目了,不是我牛b,是因为项目紧,我没有时间去深入学习,所以只能一边学一边做了. 我要做的项目是一个官方网站(包括管理后台),也因为是我第一次使 ...
- Vue.js 项目接口管理
在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口,如何定义呢? 本文使用vue-cli生成的项目举例. 第一步.在src目录下新建一个文件夹http,在http目录下建 ...
- 【vue】---项目接口管理---【巷子】
一.前言 在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口 假设后端的文档分成了以下几个模块 1.发现模块 2.个人信息模块 3.商品模块 4.评论模块 ...... ...
随机推荐
- leetcode 75 Sort Colors 计数排序,三路快排
解法一:计数排序:统计0,1,2 的个数 时间复杂度:O(n) 空间复杂度:O(k) k为元素的取值范围, 此题为O(1) class Solution { public: void sortC ...
- bzoj 1005: [HNOI2008]明明的烦恼 树的prufer序列+万进制
题目传送门 思路: 这道题需要前置知识prufer编码,这篇博客对prufer编码和这道题的分析写的很好. 这里主要讲一些对大数阶乘的分解,一个办法当然是用高精度,上面这篇博客用的是java,还有一个 ...
- POJ - 1222 / POJ - 3279 枚举第一行
说好的高斯消元法呢,暴搜都能0ms 这种翻转就是枚举第一行控制变量下面行就全都确定了 代码参考挑战程序设计例题 #include<iostream> #include<algorit ...
- .Net支持Redis哨兵模式
csredis 博客 csRedisgit地址 csRedis3.2.1 Nuget地址 (在使用csredis3.2.1获取sentinel时产生运行时异常,调查问题最后发现是获取sentinel的 ...
- DenyHosts 阻止SSH暴力攻击
当你的 Linux 服务器暴露在互联网之中,该服务器将会遭到互联网上的扫描软件进行扫描,并试图猜测SSH登录口令. 你会发现,每天会有多条SSH登录失败纪录.那些扫描工具将对你的服务器构成威胁,你必须 ...
- Linux中断分层--软中断和tasklet
1. Linux中断分层 (1)上半部:当中断发生时,它进行相应的硬件读写,并“登记”该中断.通常由中断处理程序充当上半部.(一般情况下,上半部不可被打断) (2)下半部:在系统空闲的时候,对上半部“ ...
- Ignite cahce 存储object类型数据和object类型数据序列化后string存储区别
Ignite cache在存储时 object类型的数据和 序列化该object成string类型 两者存储时间差不多. 但是这两者在读取出来的时候,string类型比object类型快很多. 以下为 ...
- rsync 问题总结
Rsync服务常见问题汇总讲解:==================================1. rsync服务端开启的iptables防火墙 [客户端的错误] No route to ...
- Single Vendor Project in OpenStack
1.astara: ptl: name: Ryan Petrello irc: ryanpetrello email: ryan.petrello@dreamhost.com irc-channel: ...
- TOJ 2888 Pearls
Description In Pearlania everybody is fond of pearls. One company, called The Royal Pearl, produces ...