是否可以将 dotenv 变量存储在 json 文件中?

Is it possible to store a dotenv variable in a json file?

在 Ghost CMS 中使用 Gatsby 需要一个包含我的 API 密钥的 .ghost.json 文件。我想将存储库推送到 Github 并且不希望我的存储库中有我的密钥。因此问题是:是否可以在 json 文件中使用 .env 变量?

默认情况下,Gatsby 会在 .env.development(或 .env.production)中查找 .env 变量,当您公开以下内容时:

require("dotenv").config({
  path: `.env.${process.env.NODE_ENV}`,
})

当然,您可以更改此行为。如果您想将变量保存在 .json 文件中而不推送它,只需将它们添加到 .gitignore 并使用 [=17 将它们导入您需要的文件(gatsby-config.js 或其他文件) =] 功能。使用,例如:require('../../ghost.json').

因此,我建议使用默认配置以避免可能出现的问题。您可以在没有 API 键的情况下保持文件推送并将它们移动到 .env 本地文件,然后只需通过以下方式加载您需要的位置:process.env.YOUR_API_KEY_VARIABLE

更多信息:https://www.gatsbyjs.org/docs/environment-variables/