Reactjs 创建新路由时发生Gatsby错误:准备请求的页面
我通过安装程序设置了一个新的盖茨比项目,但是当我试图在Reactjs 创建新路由时发生Gatsby错误:准备请求的页面,reactjs,gatsby,Reactjs,Gatsby,我通过安装程序设置了一个新的盖茨比项目,但是当我试图在/src/pages中创建一个新文件时,浏览器会说,如果我选择了这个路径 准备请求的页面 循环中。在浏览器控制台中,它输出: [Error] Unhandled Promise Rejection: Error: We couldn't find the correct component chunk with the name "component---src-pages-home-js" (anonymous func
/src/pages
中创建一个新文件时,浏览器会说,如果我选择了这个路径
准备请求的页面
循环中。在浏览器控制台中,它输出:
[Error] Unhandled Promise Rejection: Error: We couldn't find the correct component chunk with the name "component---src-pages-home-js" (anonymous function) (loader.js:45) promiseReactionJob
这是my home.js(在正常的React环境中工作得非常好):
有什么问题吗?我已经尝试重新安装盖茨比,并尝试清理缓存或制作另一个文件,使用不同的文件名。盖茨比看到了这个文件,因为如果我试图访问路由而不创建文件,它会给我404页
谢谢
更新:
如果您使用的是带有M1芯片的Mac,请确保您安装了带有Rosetta的Gatsby 您是否尝试将您的
home.js
重命名为index.js
之后,通过
gatsby clean
清理缓存在向gatsby示例项目添加页面时,M1 MacBook Air也遇到了同样的问题。解决方案(在别处找到)是清空浏览器缓存。我在Safari中遇到问题,所有解决方案都不起作用。Chrome没有问题。Safari也有问题,但使用Chrome解决了问题。我的Mac Air M1也有同样的问题。我必须用电脑清理缓存
gatsby clean
和铬合金一起使用。成功了 是的,我刚刚试着重新命名,效果非常好。现在,前面的另一个页面是
index.js
(我重命名为second.js
),如果我转到localhost:8000/秒
,就会出现上面提到的错误。就像我不能创建新路线一样。你能分享项目的结构吗?至少在/pages
文件夹中。导入组件时要小心,不要在组件之间导入页面,只导入组件。是的,项目很简单,因为我刚刚创建了它(这是我第一次使用盖茨比):(结构添加为问题中的更新)404.js
和index
包含默认代码second
,包含我上面写的代码。second.js文件是否导出有效的React组件?(大写等)就我个人而言,我总是在自己的gatsby develop
命令中使用gatsby clean
,以避免对站点进行编码时出现最常见的问题。如果这个问题已经解决了,请考虑接受/提升答案来关闭发行人,这个问题似乎只发生在Safari。
import React from "react";
const Home = () => {
return (
<div>
<title>Test</title>
<p>Hello</p>
</div>
);
};
export default Home;
pages
- 404.js
- index.js
- second.js