Gatsbyjs - 将静态页面的位置定义为 'pages' 文件夹以外的位置

Gatsbyjs - Define Location of Static Pages as Something Other than the 'pages' folder

如标题所述,我不确定是否可以自定义 Gatsby 查看的文件夹以生成静态页面。显然,这似乎已修复,无法从 pages/ 文件夹进行更改。理想情况下,这可以通过环境变量或类似的东西来改变。在现有的文档 (https://www.gatsbyjs.com/docs/creating-and-modifying-pages/) 中没有提到这样的内容。

有谁知道这是否可行,而我只是在某个地方错过了它?我还在 Gatsby GitHub 上打开了此功能请求讨论:https://github.com/gatsbyjs/gatsby/discussions/35727

您可以使用gatsby-plugin-page-creator(Gatsby 工作人员的官方插件)来自定义/pages 文件夹的源。只需将其用作:

{
  resolve: `gatsby-plugin-page-creator`,
  options: {
    path: `${__dirname}/src/account/pages`,
  },
}

或使用环境文件:

{
  resolve: `gatsby-plugin-page-creator`,
  options: {
    path: `${__dirname}/src/${process.env.A_FOLDER_NAME}`,
  },
}

您甚至可以使用插件的多个实例或使用 ignore 选项忽略某些文件。

我最近对其进行了测试,效果非常好。


这个答案的最终配置是:

{
  resolve: `gatsby-plugin-page-creator`,
  options: {
    path: `${__dirname}/src/pages`, 
    ignore: [`*`]     
  },
}