1. 程式人生 > >vue-cli 代理解決跨域

vue-cli 代理解決跨域

除了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 }) ...