javascript - vue-cli proxyTable怎么配置
问题描述
如何实现线上环境使用setting.host + ’/api/sop/’,本地dev请求localhost:3000呢?
const instance = axios.create({ baseURL: setting.host + ’/api/sop/’, timeout: 20000, headers: { ’Content-Type’: ’application/json’, ’Accept’: ’application/json’, },});
config
proxyTable: { ’/api’: { target: 'http://127.0.0.1:3000', changeOrigin: true, pathRewrite: { ’^/api’: '' } }},
问题解答
回答1:用的vue-resource,理论上思路是一样的。proxyTable和nginx的反向代理是一样的道理,拦截特定的url,转发到其他服务器。
// configproxyTable: { ’/api’: { target: ’http://10.0.0.10:8080’, changeOrigin: true, pathRewrite: { ’^/api’: ’/api’ } }}// codethis.$http.post(’/api/login’,{ username: ’xxx’, password: ’xxx’}).then((response) => { // ...}, (response) => { // ...});# 生产环境 nginxlocation /api { proxy_pass http://10.0.0.10:8080/api;}回答2:
可以配置一个环境变量,通过判断环境变量确定使用哪一种配置
process.NODE_ENV === ’LOCAL’ ? proxyTableLocal : proxyTableServer回答3:
设置后, npn run dev阶段, 本地如果访问’/get/apple, 本地服务器会帮你访问http://api.com:6688/get/apple拿到远程的数据, 变相的实现了跨域功能
打开config/index.js, 添加proxyTable属性
module.exports = {
build: {...}dev: { ... proxyTable: {’/’: { target: ’http://api.com:6688’, changeOrigin: true } }, ...}
}
https://github.com/383514580/...
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. mysql - SQL操作时间的函数?3. MYSQL新建用户设置可以远程访问的问题4. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!5. angular.js - angularjs的自定义过滤器如何给文字加颜色?6. java - mybatis怎么实现在数据库中有就修改,没有就添加7. javascript - ionic run android报错8. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?9. 正则表达式 - python pandas的sep参数问题10. docker内创建jenkins访问另一个容器下的服务器问题
