webpack 开发环境跨域代理配置指南
作者:脚本小铺时间:2026-10-22 06:41:00浏览:443
本文详解 webpack 开发环境中利用内置 http-proxy-middleware 解决跨域问题的方法。重点说明 proxy 配置中 pathname 必须以斜杠开头,否则代理不生效。通过具体代码示例展示如何配置目标地址、修改源及忽略证书验证,并对比带斜杠与不带斜杠的请求差异,帮助开发者快速配置本地开发代理。
webpack 跨域代理配置
本文介绍 webpack 开发环境下解决跨域问题的具体方案,供参考。
1. 说明
webpack 内置了 模块,可用于处理请求 URL 的代理转发。
2. API
在配置代理路径时,pathname 必须包含前导斜杠。
代理配置示例
module.exports = {
devtool: 'cheap-module-source-map',
entry: './app/js/index.js'
output: {
path: path.resolve(__dirname, 'dev'),
// 所有输出文件的目标路径
filename: 'js/bundle.js',
publicPath: '/',
chunkFilename: '[name].chunk.js'
},
devServer: {
contentBase: path.resolve(__dirname, 'dev'),
publicPath: '/',
historyApiFallback: true,
proxy: {
// 请求到 '/device' 下 的请求都会被代理到 target: http://debug.xxx.com 中
'/device/*': {
target: 'http://debug.xxx.com',
secure: false, // 接受 运行在 https 上的服务
changeOrigin: true
}
}
}
}
3. 使用
注意:配置中使用的 url 必须以斜杠开头,否则请求无法被正确代理到指定地址。
请求对比说明
fetch('/device/space').then(res => {
// 被代理到 http://debug.xxx.com/device/space
return res.json();
}).then(res => {
console.log(res);
})
fetch('device/space').then(res => {
// http://localhost:8080/device/space 访问本地服务
return res.json();
}).then(res => {
console.log(res);
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
JS压缩后代码报错怎么调试?Source Map使用详解
2026-11-05 09:05:04
JS压缩会破坏代码逻辑吗?兼容性风险与测试建议
2026-11-03 17:13:03
Next.js 与 Vite、Create React App 的优缺点对比
2026-11-03 15:27:33
js文件加载失败或404错误的常见原因与排查
2026-11-03 10:38:55
前端项目打包生成 JS 文件的核心步骤完整记录
2026-10-31 21:04:46
