从另一个http服务器(webpack dev服务器)快速提供静态资产

时间:2017-04-08 14:34:28

标签: node.js express webpack webpack-dev-server

后端初学者。我有一个节点/快速休息api,在开发中,我想从端口3000上运行的webpack-dev-server提供angular2.x / 4.x web应用程序。

我有以下代码,它可以很好地从开发服务器获取index.html和javascript包并将它们返回给客户端,但是一旦它们到达浏览器,图像似乎不起作用:

app.get('*', (req: express.Request, res: express.Response) => {
  isProd ? useBuild(res) : useDevServer(req, res);
});

function useDevServer (req: express.Request, res: express.Response): void {
  const options: any = {
    path: req.path,
    port: 3000
  };

  http.get(options, (targetRes: http.IncomingMessage) => {
    let rawData: string = '';

    targetRes.on('data', (chunk) => {
      rawData += chunk;
    });
    targetRes.on('end', () => {
      res.send(rawData);
    });
  }).on('error', e => {
    console.warn(`\nGot error: ${e.message}\n`);
  });
}

此代码代理从index.html到webpack dev服务器的图像请求,响应返回200.但是,有些错误,因为我无法在浏览器网络选项卡中看到响应主体,并且响应头包括Content-Type:text/html; charset=utf-8。手动将标题设置为image/jpeg似乎没有帮助。

我希望问题在于,我经常会看到对后端服务工作的人来说非常明显的事情,但如果没有,这看起来很合理也很好。谢谢!

0 个答案:

没有答案