vue配置跨域不生效怎么办?
接手别人的项目 下面这样请求报跨域 也重启试了
mounted(){ axios.get('api/banner').then(res=>{
console.log(res)
})
}
下面这些跨域配置都是我自己配的 vue.config.js
如下
let devServer = { host: 'localhost',
port: 8080,
https: false,
open: true,
proxy: {
'/api': {
target: 'https://laravel.godehi.cn/',
ws: false,
port: 8080,
changeOrigin: true,
pathRewrite: {
'^/api': ''
},
}
}
}
config目录下index.js配置如下
const configObj = { isDevelop: (isDev || isTest),
...configDict[currentConfigKey],
// h5模式宽高
canvasH5Width: 500,//375
canvasH5Height: 500,//644
dev: {
host: 'localhost',
port: 8080,
https: false,
open: true,
proxy: {
'/api': {
target: 'https://laravel.godehi.cn/',//设置你调用的接口域名和端口号 别忘了加http
ws: false,
port: 8080,
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
export default configObj
根目录下还有一个config.json
文件 这个文件我没动 我看axios全局配置的文件里面axios的baseURL就是指向这个baseURL的 axios.defaults.baseURL = $config.baseURL
config.json
文件如下
{ "port": "4000",
"adminAccount": "admin",
"db": {
"servername": "localhost",
"DATABASE": "admin",
"port": 27017,
"user": "",
"pass": "",
"authSource": "admin"
},
"baseURL": "https://laravel.godehi.cn/"
}
回答:
onfig.json
件里的baseURL
改为空串试试,这样访问才能是http://localhost:port/api/banner
vue.config.js
文件里的
pathRewrite: { '^/api': ''
}
这段去掉,不需要重写path,因为你的接口里是有api
这个context-path
的
以上是 vue配置跨域不生效怎么办? 的全部内容, 来源链接: utcz.com/p/936250.html