使用webpack的devServer.proxy时如何使页面不重定向?

时间:2017-12-18 13:52:15

标签: webpack proxy webpack-dev-server

这是一个项目,其路由器位于后端,我们可以打开网址select t.* from (select t.*, lag(logtime) over (order by logtime) as prev_logtime from t ) t where logtime > dateadd(minute, 15, prev_logtime) or prev_logtime is null; 。然后我想使用webpack对js进行模块化,如你所知,所有请求都应该重定向到www.example.com/a.htm而不是www. example.com

然后我找到localhost

devServer.proxy

但是当我打开devServer: { proxy: { "/": { target: "http://www.example.com", changeOrigin: true } } } 时,它会被重定向到localhost:8080,然后找不到bundle.js文件。

所以这是我的问题,如何使www.example.com不被重定向?或者以这种方式使用它是错误的?

1 个答案:

答案 0 :(得分:0)

我认为此选项不起作用

https://webpack.js.org/configuration/dev-server/#devserver-publicpath-

如果我将publicPath设置为不是/的其他东西(默认情况下),则代理服务器可以使用根路径。

我认为是因为这条路很忙(

更新:

但是通常需要在index.html上返回/文件...

所以,我找到了解决方法:

  1. 例如设置publicPath: '/_web_/'
  2. /?api=for_example代理后加上过滤上下文{context: (path, req) => req.query && req.query.api, target: 'http://api.localhost:8080'}
  3. 使用下一个配置/将代理从/_web_/设置为{context: '/', target: 'http://localhost:80', pathRewrite: {'^/' : '/_web_/'}

现在,我们为开发服务器工作:如果查询中存在api-从api.localhost:8080返回信息,否则从/_web_/返回信息/文件。

祝你好运