javascript - 盖茨比没有建造,但在开发中工作正常
问题描述
我正在使用 Gatysby 和 prismic 创建一个站点。一切似乎都在开发中运行良好。但是当我尝试构建时,我得到一个“未定义”的错误。
Building static HTML failed for path "/preview/page"
48 | const Page = (props) => {
49 | console.log(props);
> 50 | const pageTitle = props.data.prismic.allPages.edges[0].node.page_title;
| ^
51 | const content = props.data.prismic.allPages.edges[0].node.page_content;
52 | return (
53 | <>
WebpackError: TypeError: Cannot read property 'node' of undefined
我不确定 /preview/ 来自哪里,因为那不是我在配置文件中指定的路径,如果我正确理解文档,显然默认情况下应该禁用预览 -文档。
无论如何,我尝试将它们设置为 false,但没有运气。
这是我的配置 atm
{
resolve : 'gatsby-source-prismic-graphql',
options : {
repositoryName : 'XXXXX',
pages : [
{
type : 'Page',
match : '/:uid',
path : '/',
component : require.resolve('./src/templates/page.js')
},
{
type : 'Blog_post',
match : '/blog/:uid',
path : '/blog/',
component : require.resolve('./src/templates/blogPost.js')
}
]
}
},
任何帮助将不胜感激。
解决方案
我认为这里的问题是您需要对您的内容添加验证检查。您正在查看的文档页面需要更新。我会调查的。
通过添加内容的验证检查,可以无错误地生成预览路由。此页面说明如何设置验证检查: https ://prismic.io/docs/gatsby/rendering/retrieve-the-document-object#21_0-adding-a-validation-check
推荐阅读
- java - 如何使用 .json 文件刷新基本“数据库”
- angular - 带有 intl 的 angular/devextreme 中的自定义日期格式
- c# - .NET 何时尝试解析程序集引用?
- java - 创建一个简单的 Java 规则引擎
- javascript - 如何相对于映射的 div 放置组件?反应 Redux CSS
- ascii - \033[ 中的控制序列列表(用于 urxvt 键符)
- batch-file - 将错误级别与字符进行比较时批处理文件退出
- python - 如何将 5D 张量输入 LSTM?
- java - 如何使用 jsoup 获取 html 类型的 url
- scala.js - 在 Scala.js 外观中,为什么 @js.native 注释排除了 @JSExport 注释?