正在学习 Gatsby 官方教程 here 。直到第 7 步,一切都 100% 正常。在第 7 步“以编程方式从数据创建页面”中,为 gatsby-node.js
列出了此代码段(按原样,不导入):
exports.onCreateNode = ({ node }) => {
if (node.internal.type === `MarkdownRemark`) {
const fileNode = getNode(node.parent)
console.log(`\n`, fileNode.relativePath)
}
}
但是,当运行gatsbydevelop
时,我得到:ReferenceError:getNode未定义
。我在谷歌上搜索了很长一段时间,似乎最新版本的 Gatsby 最近可能发生了一些重大变化。有谁知道这可能是什么原因以及如何修复丢失的引用?也许应该导入一些模块?
最佳答案
刚刚找到答案。这是我自己的错字。我没有将第二个 getNode
参数添加到 onCreateNode
函数中:
exports.onCreateNode = ({ node, getNode }) => {
if (node.internal.type === `MarkdownRemark`) {
const fileNode = getNode(node.parent)
console.log(`\n`, fileNode.relativePath)
}
}
关于javascript - 在最新版本的 Gatsby 的 gatsby-node.js 中找不到 getNode() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870443/