在vue中用http-proxy-middleware来进行接口代理,好比:本地运行环境为http://localhost:8080但真实访问的api为 http://www.baidu.com这时咱们就须要把http://www.baidu.com代理到api接口上vue
在build下的 dev-server.js 中咱们须要对下面代码进行修改express
var proxyMiddleware = require('http-proxy-middleware');npm
var proxyMiddleware = require('http-proxy-middleware') var server = express() server.middleware = [ proxyMiddleware(['/mobile'], {target: 'http://baidu.com', changeOrigin: true}), proxyMiddleware(['/school'], {target: 'http://baidu.com', changeOrigin: true}), proxyMiddleware(['/api/track'], {target: 'http://baidu.com', changeOrigin: true}), proxyMiddleware(['/manage/integral'], {target: 'http://baidu.com', changeOrigin: true}), ]; server.use(server.middleware);
这里须要注意须要把接口调用的开始部分分别写在 proxyMiddleware中 如 /mobile是表明你访问的接口为 http://baidu.com/mobile/ 开头的全部接口 至关于http://baidu.com/mobile/*api
在调用的时候咱们用 vue-resource,在main.js中引入vue-resource
vue-resource 的安装方式: npm install --save-dev vue-resourceui
import VueResource from 'vue-resource'
Vue.use(VueResource)
在页面中具体调用为this
this.$http.get('/mobile/api/h5/', {params: {name:1,type:2}}).then((response) => { response = response.body; if (response.errno === 0) { this.goods = response.data; } });
到这里咱们就完成了vue的代码域名代理,若有错误,或错别字欢迎你们留言指正!spa