Nestjs Dotenv变量未定义
我有一个模块(auth模块),我在其中注册JwtModule:Nestjs Dotenv变量未定义,nestjs,dotenv,Nestjs,Dotenv,我有一个模块(auth模块),我在其中注册JwtModule: JwtModule.register({ secret: process.env.SECRET_KEY, signOptions: { expiresIn: '60m' }, }), 寄存器函数如下所示:静态寄存器(选项:JwtModuleOptions):DynamicModule JwtModule在节点_模块(jwt.module.js)中定义 在app.module.ts中,我有 Confi
JwtModule.register({
secret: process.env.SECRET_KEY,
signOptions: { expiresIn: '60m' },
}),
寄存器函数如下所示:静态寄存器(选项:JwtModuleOptions):DynamicModule代码>
JwtModule在节点_模块(jwt.module.js)中定义
在app.module.ts中,我有
ConfigModule.forRoot({
isGlobal: true,
}),
在节点模块文件(console.log(process.env.SECRET\u KEY))中未定义process.env.SECRET\u密钥,但定义了signOptions:{expiresIn:'60m'}
如果我尝试从.env写入控制台密钥,则其他地方都已定义,但节点中的模块未定义。ConfigModule
的ConfigService
运行dotenv
的config()
方法,但所有修饰符同时运行,因此尚未调用config()
方法。您可以改为使用异步注册,并像这样使用ConfigService
JwtModule.registerAsync({
inject:[ConfigService],
useFactory:(配置:配置服务)=>({
secret:config.get('secret\u KEY')
})
})
确保在应用程序模块构造函数中调用ConfigService:
export class AppModule {
constructor(private configService: ConfigService) {}
}
export class AppModule {
constructor(private configService: ConfigService) {}
}