【问题标题】:For what do we need the templates folder in Gatsby project file structure我们需要 Gatsby 项目文件结构中的 templates 文件夹做什么
【发布时间】:2020-06-08 21:57:23
【问题描述】:

我们需要 Gatsby 项目文件结构中的 templates 文件夹做什么?我可以使用这个文件夹来存储我在主页上重复使用的普通组件,例如“英雄”或“信息”组件等吗?

【问题讨论】:

    标签: reactjs templates filesystems gatsby file-structure


    【解决方案1】:

    /src/templates 文件夹不做任何特别的事情(例如,与 /src/pages 文件夹不同),但它通常用于存储您为 creating programatically 的页面的模板。如果您愿意,您也可以简单地将任何页面模板存储在 /src/components 文件夹中并完全删除 /src/templates

    【讨论】:

      【解决方案2】:

      /templates 文件夹的目的是存储模板(嗯?),也就是说,所有将通过createPage API 以编程方式创建的页面将共享相同的内部结构(组件、页眉、页脚、等)但不同的内容。理想情况下,您将拥有post.jslegal.js(适用于所有条款和条件、服务条款等),以便为您从 CMS 检索到的所有数据共享相同的结构,例如:

        posts.forEach(({ node }, index) => {
          createPage({
            path: node.fields.slug,
            component: path.resolve(`./src/templates/posts.js`),
            context: { id: node.id },
          })
        })
      }
      

      它仅用于结构化代码并创建更干净的结构。对我来说,而不是 Robin Métral answer 我会保留它,如果您不使用它并且保持为空,则该文件将不会被提交,但非常有用,并且程序化页面创建是 Gatsby 的主要优势之一,而且对保持结构清晰明了很有帮助。

      【讨论】:

      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2022-01-16
      • 2011-01-31
      • 2014-07-09
      • 2018-03-11
      相关资源
      最近更新 更多