首页 > 解决方案 > 如何使用 NestJs 创建服务的单个实例

问题描述

我正在尝试创建单个实例,AppService以便两个控制器(testControllerAppController)使用相同的AppService. 我该怎么做?我知道 NestJs 服务只是关于模块的单例,但我找不到让它“全球化”的方法。

这是代码:

在 app.module.ts 中:

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { BookModule } from './book/module';

@Module({
  imports: [BookModule],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

在 app.service.ts 中:

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  private counter = 0;
  getHello(): string {
    return `Hello World! ${++this.counter}`;
  }
}

在books.module.ts 中:

import { Module } from '@nestjs/common';
import { testController } from './controller';
import { AppService } from '../app.service';

@Module({
  imports: [],
  controllers: [testController],
  providers: [AppService],
})
export class BookModule {}

标签: javascripttypescriptnestjs

解决方案


推荐阅读