我正在使用配置文件存储默认值和密码/令牌/密钥。 默认值是公开的没问题。 显然,我希望密码保持机密。 我的意思是-不要将其推送到GitHub。
我考虑过要制作一个包含以下文件的 configs 目录:
common.js
每个人都可以看到。 keys.js
个密码/令牌/密钥。不应该推送到GitHub-使用.gitignore文件来防止这种情况。 keys-placeholder.js
应该只包含占位符,因此克隆项目的人应该了解如何创建keys.js
文件并放置其真实密码。
这是一个好习惯吗?您如何隐藏密码以免推送到GitHub并在首次构建项目时使它易于使用?
答案 0 :(得分:1)
我个人使用config来配置公共应用程序/常量,并使用.env
文件和dotenv包来获取机密。
然后在.env
中添加.gitignore
。
所以示例项目应该是
config // app configuration/constants
- prod.json
- dev.json
- test.json
.env // secrets
src/
- models
- app.js
...
-----添加了-----
为什么不将配置放在src目录中?
A:当然,将config
文件夹放在哪里完全取决于您。
这只是一个偏好问题。
关于暂存配置呢?
A:与问题#1一样,您可以在staging.json
下添加config
。
如果您没有为.env提供任何占位符文件,我怎么知道我应该在该文件中填写哪些密码?
A:典型的.env
文件如下所示。
API_CREDENTIAL=your api credentials
DB_PASSWORD=your db password
如何将prod / dev配置文件延迟加载到节点应用程序?
A:我看不到延迟加载小型json文件的好处。
如果您要询问具体的config
和dotenv
库指南,
请参阅其Github存储库。(config,dotenv)