NodeJS / Express正确处理React构建

时间:2018-02-16 09:32:12

标签: node.js reactjs express caching static

我想知道如何在Express应用程序中正确处理React构建。我现在面临的一个主要问题是,当使用浏览器时,React应用程序始终优先于其他端点,即使它位于快速链的末端。

我将React构建添加为静态文件夹,如下所示:

app.use(express.static(path.join(__dirname, '/react'), {
  etag: false
}));

还尝试将etag设置为false,以便它不会缓存应用,但即使服务器关闭,它仍然会打开。我在快速链的末尾使用通配符GET请求发送react版本:

app.get('*', (req, res) => {
  res.sendFile(path.join(global.appRoot, '/views/index.html'));
});

之前还有其他端点,但不通过浏览器访问它们,它只是跳到React构建。如果使用Postman,端点被称为罚款。

1 个答案:

答案 0 :(得分:1)

如果在服务器关闭时它仍然打开,则很可能安装了一个使用index.html缓存URL的服务工作者。

在Chrome上,转到Chrome开发者工具的“应用程序”标签,检查是否有任何服务人员注册了您正在使用的域名。

如果有,你可以取消注册,然后再试一次:) 但请确保检查服务工作者,因为如果将其设置为使用html拦截所有网络请求,则会再次发生。