相关疑难解决方法(0)

如何在动态 Nestjs 模块中导入 registerAsync?

一直在使用 Advanced NestJS 研究动态模块:如何构建完全动态的 NestJS 模块。

据我所知,大多数人使用本指南来构建同步/异步动态模块。

但是我的问题是,如果我使用 registerAsync 方法,并且我的动态模块需要导入 HttpModule,而 HttpModule 的 register-options 是由我的动态模块提供的。

如何在动态模块中导入模块,动态模块提供选项?或者是处理这个问题的错误方法?如果是这样,你会如何构建它?


这是代码。这实际上是本教程的副本。正如您在 register 方法中看到的那样,它很简单 - 我只是传入选项。registerAsync 但是,我无法弄清楚该怎么做。


任何帮助深表感谢 :)

import { Module, DynamicModule, Provider, HttpModule } from "@nestjs/common";
import { InvoicesHealth } from "./invoices/invoices.health";
import { InvoicesResolver, InvoicesService } from "./invoices";
import {
  CustomerInvoicesOptions,
  CustomerInvoicesAsyncOptions,
  CustomerInvoicesOptionsFactory,
} from "./interfaces";
import { CUSTOMER_INVOICES_OPTIONS } from "./constants";
import { createCustomerInvoicesProviders } from "./providers/customer-invoices.providers";

@Module({
  imports: [],
  controllers: [],
  providers: [InvoicesHealth, InvoicesResolver, InvoicesService],
  exports: [InvoicesHealth],
})
export …
Run Code Online (Sandbox Code Playgroud)

import module dynamic typescript nestjs

7
推荐指数
2
解决办法
2100
查看次数

你能在条件下导入一个 NestJS 模块吗

我正在 NestJS 中创建一个微服务。现在我想使用 RabbitMQ 将消息发送到另一个服务。

我的问题是:是否可以基于.env变量导入 RabbitmqModule ?如: USE_BROKER=false。如果这个变量是假的,那么不导入模块?

RabbitMQ 是在下面的 GraphQLModule 中导入的。

@Module({
  imports: [
    GraphQLFederationModule.forRoot({
      autoSchemaFile: true,
      context: ({ req }) => ({ req }),
    }),
    DatabaseModule,
    AuthModule,
    RabbitmqModule,
  ],
  providers: [UserResolver, FamilyResolver, AuthResolver],
})
export class GraphQLModule {}
Run Code Online (Sandbox Code Playgroud)

RabbitMQ模块:

import { Global, Module } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { RabbitMQModule } from '@golevelup/nestjs-rabbitmq';
import { UserProducer } from './producers/user.producer';

@Global()
@Module({
  imports: [
    RabbitMQModule.forRootAsync(RabbitMQModule, {
      useFactory: async (config: ConfigService) …
Run Code Online (Sandbox Code Playgroud)

module rabbitmq nestjs

5
推荐指数
2
解决办法
749
查看次数

这在超类构造函数调用之前是不允许的

我想使用 super 的构造函数将子类实例传递给超类,但出现此错误

super(this);  
Run Code Online (Sandbox Code Playgroud)

这在超类构造函数调用之前是不允许的

为什么我收到这个错误,我该如何解决这个问题


class Parent
{
    constructor(child)
    {
        this.child = child;
    }

    //...somewhere in code
    //child.doSomething();
}


class Child extends Parent
{
    constructor()
    {
        super(this);   // <==== the error here
    }

    doSomething = () =>
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 es6-class

0
推荐指数
1
解决办法
764
查看次数