webpack-dev-middleware在不同于app的端口上提供捆绑服务

时间:2016-10-03 08:31:58

标签: javascript node.js express webpack webpack-dev-middleware

我一直在研究一种利用Apollo-Client和GraphQL的React样板。我的应用程序已设置好,以便我有一个节点进程在端口3000上运行Express服务器实际呈现应用程序,另一个Express服务器在端口3001上使用webpack-dev-middleware打包并提供我的JavaScript包。

我在尝试使用<script src="/static/js/bundle.js />加载我的捆绑时收到了404,因为它试图在http://localhost:3000/static/js/bundle.js而不是http://localhost:3001/static/js/bundle.js请求捆绑,其中实际上是由{ webpack-dev-middleware

有没有办法配置webpack-dev-middleware或我的应用服务器,以便我的应用可以从/static/js/bundle.js访问JS捆绑包而无需在其前面添加http://localhost:3001

1 个答案:

答案 0 :(得分:0)

您需要将:3000/static/js/bundle.js:3001/static/js/bundle.js的请求代理,您可以使用以下内容:

const request = require('request');
...
app.get('/static/js/bundle.js', (req, res) => {
  req.pipe(request.get('http://localhost:3001/static/js/bundle.js')).pipe(res);
});

您已确保仅在开发期间添加此路线。