我想要一些环境,比如说development
, production
, test
.这些环境应该是独立的,并使用它们自己的配置参数集,例如对于 DB、SERVER_PORT、USER 等。
它们不应该在代码库中,所以我认为它们应该是不同的 .env 文件。也就是说,我应该能够根据事件的环境加载不同的 .env 文件。此外,目前还不清楚我必须在哪里设置该环境切换器。
也许它应该是具有 NODE_ENV 参数的单个 .env 文件,该参数可以设置为上述任何值,无论是开发、生产还是测试。并且根据此参数的值自动加载一组必要的配置参数。
我已经阅读了文档,目前对我来说似乎有点困惑。
似乎应该有一些配置工厂。
最佳答案
假设您在项目的根目录中有以下配置文件:env.development
, env.staging
, env.test
这是我将如何实现它:
在 app.module.ts
文件:
import { ConfigModule } from '@nestjs/config';
const ENV = process.env.NODE_ENV;
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: !ENV ? '.env' : `.env.${ENV}`,
}),
],
controllers: [AppController],
})
export class AppModule {}
受此解决方案的启发:https://github.com/nestjsx/nestjs-config#using-different-env-files
关于nestjs - 如何在 nestjs 中管理不同的配置环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61431679/