Представьте, что вы довольны программированием, настраивая свой модуль с помощью auth.module.ts, используя в своем реестре классический вызов для получения значений env, Classic . env в вашем проекте и получите такую ошибку…
Ошибка: secretOrPrivateKey должен иметь значение
может быть, ваш импорт для JwModule похож на этот.
@Module({ imports: [ UserModule, PassportModule, JwtModule.register({ secret: process.env.JWT_SECRET, signOptions: { expiresIn: process.env.EXPIRES_IN, audience: process.env.APP_URL, }, }), ], controllers: [AuthController], providers: [AuthService, LocalStrategy, JwtStrategy],
но нет, это не ваш фол, потому что время, когда начался импорт модуля, является предыдущей загрузкой или доступом к обычному и типичному process.env.VALUES, чтобы решить эту ошибку лучший способ выглядеть так.
import { ConfigModule, ConfigService } from '@nestjs/config'; @Module({ imports: [ UserModule, PassportModule, JwtModule.registerAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (config: ConfigService) => ({ secret: config.get('JWT_SECRET'), signOptions: { expiresIn: config.get('EXPIRES_IN'), audience: config.get('APP_URL'), }, }), }) ], controllers: [AuthController], providers: [AuthService, LocalStrategy, JwtStrategy], })