vue实践---根据不同环境,自动转换请求的url地址
一般的项目环境分为:本地环境,测试环境,预发环境,正式环境。 这些环境的域名一般是一样的, 前端请求接口的url也会随着这些环境的变化而改变,手动修改有点麻烦,所以想个办法,让请求的地址根据域名改变而改变。
第一步:
建立一个RequestConfig.js 作为配置文件,内容如下:
const APIMapping = {
project1: {
test: 'http://123.com',
local: 'http://abc.com'
},
project2: {
test: 'http://123.com',
local: 'http://abc.com'
}
}
const currentEnvMapping = {
'127.0.0.1': 'test',
'localhost': 'local',
}
export { currentEnvMapping, APIMapping }
这里只列举了测试环境,和本地环境,其他环境使用方法一样。
APIMapping是所有的项目,这里有 project1,project2 ;每个项目分为本地环境(test),测试环境(local);
currentEnvMapping 指明什么域名下使用本地环境的域名,还是测试环境的域名。
第二步
使用vuex, 建立一个store文件存放vuex, 然后再建立index.js存放数据:
import Vue from 'vue'
import Vuex from 'vuex'
import { APIMapping, currentEnvMapping } from './../common/RequestConfig.js' Vue.use(Vuex)
const state = {
// 这里currentEnvMapping[location.hostname]确定是test, 还是local环境
// APIMapping['project1']确定了是哪个项目
// APIMapping['project1'][currentEnvMapping][location.hostname]最终确定了url
RequestHost: APIMapping['project1'][currentEnvMapping[location.hostname]]
} const getters = {
get_RequestHost: state => {
return state.RequestHost
}
} export default new Vuex.Store({
state,
getters
})
第三步
就可以使用了,跟正常的vue一样,代码如下:
mounted(){
console.log(this.$store.getters.get_RequestHost)
}
具体的代码看这里:https://github.com/YalongYan/vue-practice/tree/master/dynamic-request
vue实践系列请看这里:https://github.com/YalongYan/vue-practice
vue实践---根据不同环境,自动转换请求的url地址的更多相关文章
- QT 通过QNetworkReply *获取对应请求的URL地址
[1]QT 通过QNetworkReply *获取对应请求的URL地址 reply->url().toString(); Good Good Study, Day Day Up. 顺序 选择 循 ...
- 使用UrlConnection请求一个url地址获取内容
访问网络需要加Internet权限:android.permission.INTERNET 使用UrlConnection请求一个url地址获取内容: //1.创建一个Url对 ...
- vue 对px 做rem 自动转换
插件:postcss 安装: npm install postcss-pxtorem vue.config.js 配置 css: { loaderOptions: { postcss: { plugi ...
- SpringCloud之初识Feign ----- 分布式负载自动拼接请求的URL
在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码: String baseUrl = "http://user-service/user/"; Us ...
- java获取请求的url地址
1.获取全路径request.getRequestURL(); //得到http://localhost:8888/CRM/loginController/login 2.获取协议名和域名reques ...
- (转)HTTP请求中URL地址的编码和解码
HTTP请求中,类似 http%3A%2F%2Fwww.baidu.com%2Fcache%2Fuser%2Fhtml%2Fv3Jump.html 的地址 如何解码成 http://www ...
- JAVA获取当前请求的URL地址,包含请求链接中的参数
/** * 获得当前访问的URL路径 * @param request * @return */ public static String getLocation(HttpServletRequest ...
- JavaScript实现http地址自动检测并添加URL链接
一.天生我材必有用 给http字符自动添加URL链接是比较常见的一项功能.举两个我最近常用到的自动检测http://地址并添加链接的例子吧,首先是QQ邮箱,在使用QQ邮箱时,如果输入了URL地址(ht ...
- JavaScript实现url地址自动检测并添加URL链接示例代码
写一个简单的聊天系统,发出Htpp的Url实现跳转加上a标签,下面是具体的实现,感兴趣的朋友不要错过 背景:写一个简单的聊天系统,发出Htpp的Url实现跳转加上a标签. 实现代码: 复制代码代码如 ...
随机推荐
- Docker资源管理探秘:Docker背后的内核Cgroups机制
http://www.infoq.com/cn/articles/docker-resource-management-cgroups 随着Docker技术被越来越多的个人.企业所接受,其用途也越来越 ...
- 常用函数 __MySQL必知必会
----------------------使用数据处理函数 ---------------------- 常见的文本处理函数 Left() 返回串左边的字符Length() 返回串的长度Locate ...
- ES里关于对象的拓展
一.对象类别 在浏览器这样的执行环境中,对象没有统一的标准,在标准中又使用不同的术语描述对象,ES6规范清晰定义了每一个类别的对象,对象的类别如下 1.普通(Ordinary)对象:具有JS对象所有的 ...
- 速查笔记(Linux Shell编程<下>)
转载自: http://www.cnblogs.com/stephen-liu74/archive/2011/11/04/2228133.html 五.BASH SHELL编程: 1. 初始化顺 ...
- SpringMVC处理MySQL BLOB字段的下载
任务: uos.docfile的content字段是longblob类型,通过Web点击链接能下载到存储在这个字段里的文件.Web点击链接类似如下形式: http://localhost:8080/d ...
- node-表单验证
var http = require('http'); var url = require('url'); var fs = require('fs'); var querystring = requ ...
- Java List具体解释
List接口是Collection的子接口,用于定义线性表结构,当中ArrayList能够理解为一个动态数组,而LinkedList能够理解为一个链表 经常使用操作: 插入和删除操作: void ad ...
- Codeforces Round #262 (Div. 2)解题报告
详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks http ...
- scrollTop clientTop offsetTop scrollHeight clientHeight clientWidth的差别及使用方法
这几个属性做滚动时会经经常使用到.现总例如以下: 首先定义一个div.样式例如以下: <style> *{ margin:0px; padding:0px;} body{ margin:0 ...
- 《TCP/IP具体解释卷2:实现》笔记--IP的分片和重装
IP首部内有三个字段实现分片和重装:标识字段(ip_id).标志字段(ip_off的3个高位比特)和偏移字段(ip_off的13个低位 比特).标志字段由3个1bit标志组成.比特0是保留的必须为0, ...