我的目标是从本地插件创建页面。我编写了一个名为 my-custom-plugin
的自定义插件。我还安装了 gatsby-plugin-page-creator 插件,以自动从默认 pages
目录之外的组件创建页面。
这是我的项目结构:
plugins
/my-custom-plugin
/gatsby-node.js
/package.json
src
/components
/pages
/single.js
gatsby-config.js
gatsby-node.js
...etc
gatsby-config.js(来自根目录):
module.exports = {
plugins: [
`my-custom-plugin`,
{
resolve: `gatsby-plugin-page-creator`,
options: {
path: `${__dirname}/src/components/pages`,
}
},
]
}
plugins/my-custom-plugin/gatsby-node.js
const path = require('path')
const location = path.resolve(__dirname, '..', '..', '/src/components/pages')
exports.createPages = ({ actions }) => {
const { createPage } = actions
createPage({
path: `/sample-page`,
component: `${location}/single.js`,
context: {
slug: 'sample-page'
}
})
}
不幸的是,我在运行 gatsbydevelop 时收到错误消息插件“my-custom-plugin”创建了一个包含不存在组件的页面
。我做错了吗?有什么帮助吗?
问候。
最佳答案
https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-page-creator
您不需要自定义插件。自述文件指出,您只需将配置插入到 gatsby-config.js
中即可。
您当前的本地插件尝试完全执行页面创建器插件已经执行的操作。
关于javascript - 从 GatsbyJS 中的本地插件创建自定义页面时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53801476/