如何解决nest.js中的DI问题?

我想了解如何通过DI在nestjs中导入第三方库。 所以,我有一个类AuthService

 export class AuthService { constructor( @Inject(constants.JWT) private jsonWebToken: any, ){} .... } 

智威汤逊提供商:

 import * as jwt from 'jsonwebtoken'; import {Module} from '@nestjs/common'; import constants from '../../../constants'; const jwtProvider = { provide: constants.JWT, useValue: jwt, }; @Module({ components: [jwtProvider], }) export class JWTProvider {} 

库模块:

 import { Module } from '@nestjs/common'; import {BcryptProvider} from './bcrypt/bcrypt.provider'; import {JWTProvider} from './jsonwebtoken/jwt.provider'; @Module({ components: [ BcryptProvider, JWTProvider, ], controllers: [], exports: [ BcryptProvider, JWTProvider, ], }) export class LibrariesModule{ } 

我得到这个错误:

 Error: Nest can't resolve dependencies of the AuthService (?). Please verify whether [0] argument is available in the current context. at Injector.<anonymous> (D:\Learning\nest\project\node_modules\@nestjs\core\injector\injector.js:156:23) at Generator.next (<anonymous>) at fulfilled (D:\Learning\nest\project\node_modules\@nestjs\core\injector\injector.js:4:58) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) 

另外,我想听听有关在jsonWebTokenvariables中不使用type的build议。

魔鬼在细节中。 你可以将其他模块“导入”AuthModule,如下所示:

 @Module({ modules: [LibrariesModule], // <= added this line components: [AuthService, JwtStrategy], controllers: [], }) export class AuthModule { } 

来源: 这里

第二个问题仍然是打开的。