gpt4 book ai didi

yaml - Netlify CMS - 将数据保存到项目根目录(例如 `__dirname` )

转载 作者:行者123 更新时间:2023-12-05 07:17:56 27 4
gpt4 key购买 nike

我在 Gatsby 主题中使用 Netlify CMS。这是我的项目结构的示例:

root/
themes/
gatsby-theme-example/
pages/
index.js
static/
admin/
config.yml
gatsby-config.js
package.json
sites/
example-theme-site/
data/
content.md
gatsby-config.js
package.json
package.json

更多信息:

  • gatsby-theme-example 使用 gatsby-plugin-netlify-cms , config.yml 文件位于 root/themes/gatsby-theme-example/static/admin/config.yml
  • gatsby-theme-exampleexample-theme-site 通过 yarn workspaces 连接,但是我打算在它完全开发后将 gatsby-theme-example 发布到 npm,以便用户可以将它作为一个包安装。 example-theme-site 仅用于开发测试目的。

这意味着:

  1. 运行 yarn workspace example-theme-site develop 将为 example-theme-site 运行 gatsby develop
  2. 然后用户可以访问 http://localhost:8000/admin 并访问 Netlify CMS。登录后,这将使用位于 root/themes/gatsby-theme-example/static/admin/config.yml
  3. 中的配置文件加载 Netlify CMS

在此之后我想进行的下一步是:

  • 用户向 Netlify CMS 添加内容
  • 保存/发布时,此新数据保存在 root/sites/example-theme-site/data 目录下。

这是我遇到的问题,因为配置文件位于 gatsby-theme-example 但是我希望将数据保存到 example-theme-site。我不确定如何在不硬编码的情况下使路径相对于根目录。

我看到我可以指定保存数据的位置under file or folder in the config.yml ,但是由于 config.yml 是一个 .yml 文件,我不知道如何使用 __dirname 之类的东西来指定正确的目录。我能看到的唯一选择是在文件路径中进行硬编码(例如 file: "../../sites/example-theme-site/data/content.md"),同时在开发中,然后更改它,使其与 node_modules 相关,就在我将主题发布到 npm 之前。

这里还有其他更合适的解决方案吗?

最佳答案

配置文件在你的 repo 中的位置并不重要——配置文件在浏览器中处理。您配置中的所有路径始终相对于存储库根目录。

关于yaml - Netlify CMS - 将数据保存到项目根目录(例如 `__dirname` ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com