1. 说明[backcolor=rgba(128, 128, 128, 0.05)]webpack 内置了 http-proxy-middleware[backcolor=rgba(128, 128, 128, 0.05)] 可以解决 请求的 URL 代理的问题
[backcolor=rgba(128, 128, 128, 0.05)]
2. API
[size=1em]需要代理的 pathname 要加 / [size=1em][JavaScript] 纯文本查看 复制代码 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: [url]http://debug.xxx.com[/url] 中
'/device/*': {
target: 'http://debug.xxx.com',
secure: false, // 接受 运行在 https 上的服务
changeOrigin: true
}
}
}
}
[size=1em]
3. 使用[size=1em] 注:使用的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); })
|