javascript - 为什么 webpack 代理不起作用(Access-Control-Allow-Origin 错误)?
问题描述
所以,我试图通过代理我的请求来绕过服务器上的 CORS。我正在使用 webpack 和 axios。所以,这里是 webpack 开发服务器选项:
devServer: {
contentBase: './build/',
historyApiFallback: true,
hot: true,
quiet: true,
open: false,
port,
noInfo: false,
clientLogLevel: 'error',
proxy: {
'/api/**': {
target: 'http://mydev.com',
changeOrigin: true,
secure: false
}
}
}
和 axios:
const axiosInstance = axios.create({
baseURL: 'http://mydev.com',
timeout: 30000,
headers: {
'Content-Type': 'application/json',
'X-AUTH-TOKEN':
'my-token
},
data: {}
});
但是我的出身仍然是localhost
并且option
请求没有通过。因此我有这个错误。
澄清一下:我想使用 JSON 内容从 localhost 向 mydev.com 发出请求并绕过 CORS 设置。
谢谢!
解决方案
Webpack 的代理选项实际上创建了一个小型反向代理服务器,它连接到您的目标端点。在这种情况下,您的应用程序(axios 实例)应该连接到您的代理:
const axiosInstance = axios.create({
baseURL: 'localhost:3000/api' // your local server here
...
});