Thi*_*ira 7 node.js typescript nestjs
有没有办法有条件地导入模块?我想检查 .env 文件是否存在,因此我使用 ConfigModule 配置 env 变量。
imports: [
UsersModule,
ConfigModule.forRoot({ load: [configuration] }), //I want to use this just if the .env file exists
MongooseModule.forRoot(
`mongodb+srv://${process.env.DATABASE_USER}:${process.env.DATABASE_PASSWORD}@${process.env.DATABASE_URL}`,
),
],
Run Code Online (Sandbox Code Playgroud)
原因:我部署了一个 api 并使用 heroku 配置了环境变量,在生产中它可以工作,但我没有这个变量来运行开发中的代码,并且我无法在我的公共存储库中公开 .env,因为它包含我的数据库凭据。因此,我想创建一个 .env 文件并将其放在 .gitignore 上,以免与此文件一起发布
Jes*_*ter 13
您可以根据需要的任何条件轻松地通过 aspread
和三元检查来完成此操作。如果检查结果为 false 并且不会包含该模块,则只需返回一个空数组。
@Module({
imports: [
...(isEnvPresent ? [ConfigModule.forRoot({ load: [configuration] })] : []),
UsersModule,
],
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3619 次 |
最近记录: |