webpack 开发时跨域问题的解决
1. 说明
webpack 内置了
http-proxy-middleware
可以解决 请求的 URL 代理的问题
2. API
需要代理的 pathname 要加
/
= {
devtool: 'cheap-module-source-map',
entry: './app/js/'
output: {
path: (__dirname, 'dev'),
// 所有输出文件的目标路径
filename: 'js/',
publicPath: '/',
chunkFilename: '[name].'
},
devServer: {
contentBase: (__dirname, 'dev'),
publicPath: '/',
historyApiFallback: true,
proxy: {
// 请求到 '/device' 下 的请求都会被代理到 target: 中
'/device/*': {
target: '',
secure: false, // 接受 运行在 https 上的服务
changeOrigin: true
}
}
}
}
3. 使用
注:使用的url 必须以
/
开始 否则不会代理到指定地址
fetch('/device/space').then(res => {
// 被代理到 /device/space
return ();
}).then(res => {
(res);
})
fetch('device/space').then(res => {
// http://localhost:8080/device/space 访问本地服务
return ();
}).then(res => {
(res);
})