Я пытаюсь создать модуль с одноэлементным сервисом для получения экземпляра браузера кукловода
Я пытаюсь следовать документации без успеха и копаться в модуле typeorm без успеха
import { DynamicModule, Global, Module, Provider } from '@nestjs/common';
import puppeteer from 'puppeteer';
import { PuppeteerService } from './puppeteer.service';
@Global()
@Module({})
export class PuppeteerModule {
static forRoot(options?): DynamicModule {
const providers = [this.createPuppeteerService(options)];
return {
module: PuppeteerModule,
providers,
exports: providers,
};
}
private static createPuppeteerService(options: puppeteer.LaunchOptions): Provider {
return {
provide: 'PUPPETEER_SERVICE',
useFactory: async () => {
const browser = await puppeteer.launch(options);
const puppeteerService = new PuppeteerService(browser);
return puppeteerService;
},
};
}
}
@Module({
imports: [
PuppeteerModule.forRoot(config.puppeter.launchOptions),
]
controllers: [AppController],
providers: [],
exports: [],
})
export class AppModule {}
Чего я хочу добиться, это зарегистрировать PuppeteerModule в корневом каталоге и просто сделать в другом модуле следующие вещи:
@Module({
imports: [
PuppeteerModule,
],
providers: [
],
controllers: [],
exports: [],
})
export class AnotherModule {}
и иметь доступ к PupperterService