如何仍然能够从 .gitignore 读取文件?

How to still be able to read files from .gitignore?

您好,我正在尝试使用 Discord.js 创建一个 Discord 机器人并将其部署到 Heroku。

我已成功将其部署到 Heroku,但日志显示错误。这是我认为问题所在:

app[worker.1]: Error: Cannot find module './config.json'

config.json 找不到,因为我将 config.json 文件放在 .gitignore 文件中。这是因为我有一些需要在该文件中保护的凭据(机器人令牌)。但是,主文件需要访问 config.json 才能 运行.

有没有办法在仍然能够 运行 程序的同时保护 config.json 文件的内容? GitHub 存储库设置为私有,所以我应该从 .gitignore 中排除 config.json 吗?

如果它只是一个小的副项目,并且您的 GitHub 存储库是私有的,那么将 config.json 排除在您的 .gitignore 之外应该没有问题。但是,对于大型项目或开源项目,您可以使用 Heroku 的 config vars,这应该可以解决问题。我建议使用配置变量,但如果你只是想把你的代码放在 Heroku 上,把它放在 .gitignore 之外应该没问题。不过我会推荐配置变量,它们工作可靠。

谢谢, 杰克逊

您应该使用环境变量来保存令牌。然后,您将 config.json 更改为指向这些环境变量,而不是实际的令牌。

有关 Heroku 如何处理环境变量的更多信息,请点击此处: https://devcenter.heroku.com/articles/config-vars

(我假设它在查找您的配置时没有问题,因为当文件实际命名为 config.js 时它正在寻找 config.json,反之亦然)