Reactjs Lighthouse正在读取我的索引而不是robots.txt

Reactjs Lighthouse正在读取我的索引而不是robots.txt,reactjs,robots.txt,Reactjs,Robots.txt,我想在我的React应用程序上使用chrome审计工具,但它一直说我的robots.txt文件无效。问题是,该文件似乎非常好,只是它不读取robots.txt,而是读取我的index.html文件,因此导致以下错误: 这两个文件都在my/public文件夹中,那么它为什么要读取索引文件呢?如果您使用节点和Express以在生产中运行React App项目。 如果您的服务器文件代码看起来像下面的代码片段,这意味着您的正在为所有请求(路由)提供相同的文件。在lighthouse审核期间,浏览器向发

我想在我的React应用程序上使用chrome审计工具,但它一直说我的robots.txt文件无效。问题是,该文件似乎非常好,只是它不读取robots.txt,而是读取我的index.html文件,因此导致以下错误:


这两个文件都在my/public文件夹中,那么它为什么要读取索引文件呢?

如果您使用节点和Express以在生产中运行React App项目。 如果您的服务器文件代码看起来像下面的代码片段,这意味着您的正在为所有请求(路由)提供相同的文件。在lighthouse审核期间,浏览器向发出get请求http://localhost:5000/robots.txt作为回报,它会得到index.html

 app.get('/*', function (req, res) {
   res.sendFile(path.join(__dirname, 'build', 'index.html'));
 });
要解决此问题,您可以在上述代码片段之前为robots.txt文件添加路由
,如下所示

 app.get('/robots.txt', function (req, res) {
  res.sendFile(path.join(__dirname, 'build', 'robots.txt'));
});

app.get('/*', function (req, res) {
   res.sendFile(path.join(__dirname, 'build', 'index.html'));
 });

您是否在服务器端渲染应用程序?@LazarNikolic是