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

时间:2020-07-16 22:21:40

标签: javascript json gatsby ghost-blog dotenv

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

1 个答案:

答案 0 :(得分:1)

默认情况下,公开以下内容时,盖茨比在.env(或.env.development)中寻找.env.production变量:

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

当然,您可以更改此行为。如果您想将变量保留在.json文件中而不进行推送,只需将它们添加到.gitignore并使用{{1 }}函数。使用例如:gatsby-config.js

因此,我建议使用默认配置以避免可能的问题。您可以在不使用API​​密钥的情况下继续推送文件,并将其移动到require本地文件中,只需通过以下方式加载所需的位置:require('../../ghost.json')

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