使用webpack编译时无法刷新生产中的页面

时间:2017-01-11 08:50:12

标签: javascript node.js webpack

我正在使用node.js + express.js + react.js构建应用程序,并且我使用webpack编译客户端代码。我遇到的问题是我的客户端代码是用webpack编译后运行我的应用程序,我无法刷新页面。

我的代码:

我的webpack将我的文件编译为/dist/index.html,我的应用程序在端口3000上运行,所有客户端路由都以/admin为前缀。

 app.get('/', function(req, res) {
    res.render('dist/index.html');
});

当我在浏览器中转到localhost:3000并单击链接时,该应用程序正常工作。但是,如果我转到about页面:

localhost:3000/admin/about

我刷新,我收到错误Cannot GET /admin/about

我相信原因是我的快递路由器只知道/路由...所以如果我直接刷新到像/admin/about这样的路线,快递不知道要渲染什么我的解决方案是包括一个"赶上所有"路线:

app.get('*', function(req, res) {
  res.render('dist/index.html');
});

然而,这不断给我Error: Failed to lookup view "dist/index.html"错误。

有人可以帮忙吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

经过研究,我发现解决方案不是res.render而是res.sendFile

res.sendFile(path.join(__dirname, '/dist/index.html'));