node.js - Nest.js Typ 'DynamicModule' kan inte tilldelas typen 'ForwardReference' på nest-modules/mailer


Jag har en Nest.js-applikation. Jag ville lägga till MailerModule till min app med följande länk -> https://npm.taobao.org/package/@nest-modules/mailer

Men jag gjorde precis följande steg:

Först, npm install --save @nest-modules/mailer

För det andra lägger jag till appmodulens mailkonfiguration men det ger ett fel, här är min app.module.ts:

import { Module } from '@nestjs/common';
import { HandlebarsAdapter, MailerModule } from '@nest-modules/mailer';


@Module({
  imports: [
    MailerModule.forRootAsync({
      useFactory: () => ({
        transport: 'smtps://[email :[email ',
        defaults: {
          from:'"nest-modules" <[email >',
        },
        template: {
          dir: __dirname + '/templates',
          adapter: new HandlebarsAdapter(), // or new PugAdapter()
          options: {
            strict: true,
          },
        },
      }),
    }),],
})
export class ApplicationModule {}

Nu kan jag inte kompilera eftersom det säger att:

TS2345: Argument av typen '{ imports: DynamicModule[]; }' kan inte tilldelas till parametern av typen 'ModuleMetadata'. Typerna av egenskapen 'imports' är inkompatibla. Typen 'DynamicModule[]' kan inte tilldelas till typen '(Type | DynamicModule | Promise | ForwardReference)[]'. Typen 'DynamicModule' kan inte tilldelas till typen 'Type | DynamicModule | Promise | ForwardReference'. Typen 'DynamicModule' kan inte tilldelas till typen 'ForwardReference'. Egenskapen 'forwardRef' saknas i typen 'DynamicModule'.

Svar #1

Kanske kolla vilken version av nest du använder, detta problem kan vara löst i versioner av nestjs 6+:

https://github.com/nestjs/nest/issues/669

Svar #2

Lösningen på detta för mig var precis. Nästan säkert beror det på att du har flera versioner av @nestjs/common eller ett annat paket installerat. Jag fixade det med npm upgrade.

Om du vill verifiera att allt är från version 10, prova detta:

npm ls | grep '@nestjs' | sed 's#.*/\(.*\)@.*#@nestjs/\1#g' | xargs npm ls | grep @10

Relaterade artiklar