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.评论模块 ...... ...
随机推荐
- Python- sort()/sorted()
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. sorted(iterable,key=None,revers ...
- BZOJ - 2440 容斥定理
组合枚举n/i/i,贡献为miu倍 /*H E A D*/ int mu[maxn],prime[maxn],cnt; bool isprime[maxn]; void sai(int n){ mu[ ...
- 学习掌握oracle外表(external table)
[转自] http://blog.chinaunix.net/uid-10697776-id-2935685.html 定义 External tables access data in extern ...
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 新手 php连接数据库大概。简单过程浅析以及遇到的问题分析
原文作者:aircraft 原文地址: https://www.cnblogs.com/DOMLX/p/8116845.html 重点:PHP运行在服务器上的请记住!!! 1.在连接数据库与PHP之前 ...
- emacs使用笔记
C-h t tutorial [移动基本操作]C-f C-b C-p C-n 前后上下 C-v C-a 行首 C-e行尾C-a 和 C-e 可以将光标移动到"一行"的头部和尾部.M ...
- BNU29139——PvZ once again——————【矩阵快速幂】
PvZ once again Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java cla ...
- List< >泛型集合
//一旦你确定了泛型的类型,集合里的元素已经有了确切的定义 List<int> list = new List<int>(); //创建泛型集合的对象 list.Add(); ...
- C#程序执行时间
Stopwatch类 using System.Diagnostics; static void Main(string[] args) { Stopwatch stopWatch = new Sto ...
- 那些你常用的JSP知识
脚本程序 <> 或者,您也可以编写与其等价的XML语句,就像下面这样: <jsp:scriptlet> 代码片段 </jsp:scriptlet>任何文本.HTML ...