我正在学习NodeJS,部分是,我经历了不同的项目,了解该人如何实现/他的编码标准和方式,然后尝试在我的自定义项目中实现它
现在,我正在这里查看此仓库(链接是特定文件夹的):https://github.com/AnandChowdhary/hovercard/blob/master/config/
我在这里看到大量带有配置的代码/文件。
我遍历了其中的代码,无法理解它。
通常,在我的应用程序中,我创建.env文件,然后通过dot.env()
导入应用程序配置
诸如端口地址,mongoDb用户ID和密码,密钥等之类的东西,但是这里的配置文件看起来完全不同
有人可以模糊地解释为什么该目录中有这么多配置文件。其次,由于到目前为止我只使用Heroku部署应用程序,所以当人们谈论环境作为开发和生产时,它们通常有何不同?
如果您可以帮助我/分享您的经验,将非常有帮助。
答案 0 :(得分:2)
首先,它看起来像是使用webpack构建的客户端库,因此其中将包含一些特定于该环境的内容。
对于节点服务器端项目,我通常同意只使用环境变量是最好的。坦白说,除了作为我的开发环境的引导程序外,我什至很少使用.env文件。 12factor.net是提供大量有关此方面最佳实践的重要资源。
对于Dev vs prod,理想情况下它们应该尽可能地相同,只是因为开发环境中有您正在尝试和测试但尚未发布的新内容而导致差异。
因此,差异通常只是指向充满测试数据的数据库,这样您就不必使用客户数据进行测试等等。