webpack开发跨域问题解决

时间:2025-05-14 07:46:25

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