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

你可能感兴趣的:(vue-js)