A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dakk 中级黑马   /  2018-1-11 14:25  /  1122 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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]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);    })


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马