为什么 process.env.JWT_EXPIRE 是未定义的?嵌套 js

问题描述 投票:0回答:1

为什么 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 {}

nestjs nest
1个回答
0
投票

你应该安装 dotenv 或安装 cross-env 并像这样在 package.json 中使用它:

"start:dev": "cross-env NODE_ENV=debug nest start --watch"

© www.soinside.com 2019 - 2024. All rights reserved.