vue-cli 代理解決跨域
阿新 • • 發佈:2019-02-04
除了Nginx代理可以解決跨域外,在使用vue開發時,通過腳手架vue-cli也可以做伺服器代理。
a. config檔案下的index.js,設定dev.proxyTable
module.exports = {
dev: {
proxyTable: {
'/agent': { //使用"/agent"來代替源地址
target: 'http://211.17.162.120:9876/rfid/', //源地址
changeOrigin: true, //改變源
pathRewrite: {
'^/agent' : '/' //路徑重寫
}
}
}
}
b. 在呼叫api時,基url設為’/agent’就可以了
import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'
const HOST = '/agent/' //此處是重點
const API_LOGIN = 'signIn'
axios.defaults.baseURL = HOST //此處是重點
axios.defaults.headers.patch['Content-Type'] = 'application/x-www-form-urlencoded'
axios.defaults.withCredentials = true
axios.interceptors.request.use(function (config) {
if (config.ContentType !== 'application/json'
&&config.method !== 'get'
&& config.method !== 'put') {
config.data = qs.stringify(config.data)
}
return config
})
...