是否可以将 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
在 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