为什么 process.env.JWT_EXPIRE 是未定义的?
JwtModule.register({
secret: jwtConstants.secret,
signOptions: { expiresIn: process.env.JWT_EXPIRE },
}),
[Nest] 12700 - 09.04.2023, 05:06:30 错误 [ExceptionsHandler] “expiresIn” 应该是代表时间跨度的秒数或字符串 错误:“expiresIn”应该是代表时间跨度的秒数或字符串
.环境
JWT_EXPIRE=3600
auth.module.ts
imports: [
UsersModule,
PassportModule.register({ session: true }),
JwtModule.register({
secret: jwtConstants.secret,
signOptions: { expiresIn: process.env.JWT_EXPIRE },
}),
],
app.module.ts
@Module({
imports: [ConfigModule.forRoot(), AuthModule, UsersModule],
controllers: [],
providers: [
{
provide: APP_GUARD,
useClass: JwtAuthGuard,
},
],
})
export class AppModule {}
你应该安装 dotenv 或安装 cross-env 并像这样在 package.json 中使用它:
"start:dev": "cross-env NODE_ENV=debug nest start --watch"