easy-team / egg-webpack

Egg Webpack Dev Server Plugin, Support Memory File and Hot-Reload
https://easyjs.cn
MIT License
68 stars 16 forks source link

js 请求404,如何设置 proxy #15

Closed honchy closed 5 years ago

honchy commented 6 years ago

我看源码中已经把 proxy 配置关闭了,现在如何使用 proxy 功能呢?

agent.js

// webpack-tool not need proxy again
    const pluginConfig = Object.assign({}, config, { proxy: false });
    if (utils.isUseMultProcess(agent.baseDir, config)) {
      new MultProcessWebpackServer(agent, pluginConfig).start();
    } else {
      const port = utils.getPort(config.port);
      pluginConfig.port = port;
      new WebpackServer(agent, pluginConfig).start();
    }
hubcarl commented 5 years ago

在 config/config.local.js 里面加上 ,下面是默认配置,可以覆盖。 默认情况是不需要修改的,只有修改 webpack的 publicPath (默认 /public/ ) 时,才需要显示配置 match

config.webpack = {
    proxy: {
      host: `http://127.0.0.1:9000`,
      match: /^\/public\//, // path pattern.
    }
  };

这里的 proxy 是指 在本地开发时,把 egg 应用访问的/public/ 的静态资源请求代理到 独立的webpack 编译的服务 9000 上面,这样可以避免本地开发跨域等问题。

zwmmm commented 5 years ago

@hubcarl 怎么排除某些路径 不做代理 比如 api 开头的路径 不走代理 其他的走代理

hubcarl commented 5 years ago

这里的代理只是静态资源的代理,如果是 api,请在 node 端处理