哪种方式为 nesjt 设置配置更好,ConfigModule 或普通配置模型

which way to set config for nesjt is better, ConfigModule or normal config model

在网站 (https://docs.nestjs.com/techniques/configuration) 中有一个为 nestjs 设置配置的建议方法。
它使用 nestjs 模块,并且必须导入您使用它的每个模块。喜欢

@Module({
    imports: [ConfigModule],
    ...
})

但我更喜欢使用普通节点模型设置配置,如下所示:
- 配置
|- config/index.ts
|- config/config.base.ts
|- config/config.dev.ts
|- config/config.prod.ts
我觉得第二种方式更简单也更intuitive.Which一种你觉得更好?

我更喜欢使用环境变量(它由 dotenv 包提供支持,如文档中所述)- 当应用程序部署为 Docker 容器时,它发挥最佳作用。

不应在您的 GIT 存储库中发布任何包含凭据的配置(尤其是产品凭据)。

这两种方法可以同时使用。基本上,ConfigModule 只不过是对环境变量的简单抽象。您仍然可以遵循 "normal node mode",但将这些特定于环境的值封装在您的模块中。通常,它简化了测试,因为您没有 process.env 在任何地方都进行硬编码,相反,您使用公开的服务,它为您提供强大的类型优势以及毫不费力地模拟您的 class' 方法的能力。

重新假设,下面的结构没有错:

|- config/index.ts
|- config/config.base.ts
|- config/config.dev.ts
|- config/config.prod.ts

这一切都归结为您希望如何访问这些值。