在 onCreateNode 中过滤 Gatsby Slug
Filtering the Gatsby Slug in onCreateNode
我正在尝试过滤由 Gatsby 生成的 slug,以便我可以删除白色 space 并将其替换为“-”。当 onCreateNode 为 运行 时,我将 Gatsby 的记者设置为触发,但无论先清除缓存,它似乎都不会触发。当我签入 GraphiQL 时,它显示 slug 没有变化。这是我的 gastby-node.js onCreateNode:
exports.onCreateNode = ({ node, getNode, actions, reporter }) => {
reporter.info(`onCreateNode called from gatsby-node`)
const { createNodeField } = actions
if (node.internal.type === `MarkdownRemark`) {
const slug = createFilePath({ node, getNode, basePath: `posts` }).replace(
' ',
'-'
)
createNodeField({
node,
name: `slug`,
value: slug
})
}}
如有任何意见,我们将不胜感激!
在我的 gatsby-node.js 文件中有两个 onCreateNode()
的实例。在构建期间只有其中一个被调用。删除 onCreateNode()
的第二个实例解决了我的问题。
我正在尝试过滤由 Gatsby 生成的 slug,以便我可以删除白色 space 并将其替换为“-”。当 onCreateNode 为 运行 时,我将 Gatsby 的记者设置为触发,但无论先清除缓存,它似乎都不会触发。当我签入 GraphiQL 时,它显示 slug 没有变化。这是我的 gastby-node.js onCreateNode:
exports.onCreateNode = ({ node, getNode, actions, reporter }) => {
reporter.info(`onCreateNode called from gatsby-node`)
const { createNodeField } = actions
if (node.internal.type === `MarkdownRemark`) {
const slug = createFilePath({ node, getNode, basePath: `posts` }).replace(
' ',
'-'
)
createNodeField({
node,
name: `slug`,
value: slug
})
}}
如有任何意见,我们将不胜感激!
在我的 gatsby-node.js 文件中有两个 onCreateNode()
的实例。在构建期间只有其中一个被调用。删除 onCreateNode()
的第二个实例解决了我的问题。