开发

webpack 相关

2021-07-29  本文已影响0人  sweetBoy_9126
  1. 本地开发通过localhost 访问后端接口的时候我们可以通过设置 proxy 来解决跨域问题
    设置代理的前提条件:
    1). 需要使用本地开发插件:webpack-dev-server
    2). webpack-dev-server使用的是http-proxy-middleware来实现跨域代理的。
    3). webpack版本: 3.0、4.0亲测有效

一个webpack配置信息:

module.exports = {
  //...
  devServer: {
    proxy: {
      '/api': {
        target: 'http://www.baidu.com/', // 后端接口域名
        pathRewrite: {'^/api' : ''},
        changeOrigin: true,     // target是域名的话,需要这个参数,
        secure: false,          // 设置支持https协议的代理
      },
      '/api2': {
          .....
      }
    }
  }
};

需要注意的点
1). proxy 里的 /api 就是我们ajax 请求里的 baseUrl公共部分,比如我们正常的测试环境配置是

const testHost = `${window.location.origin}/test-apit/api`
const request = axios.create({
  withCredentials: true,
  baseURL: testHost,
  timeout: 60000,
  headers: {
    'Response-Type': 'json'
  }
})

那么我们的 proxy 里的key 就应该是 '/test-apit/api',如下

  proxy: {
      '/test-apit/api': {
        target: 'http://www.baidu.com/', // 后端接口域名
        changeOrigin: true,     // target是域名的话,需要这个参数
      },

这样我们访问 localhost:8004/test-apit/api/admin/useMemo 接口就会代理到
http://www.baidu.com/test-apit/api/admin/useMemo

上一篇 下一篇

猜你喜欢

热点阅读