问题标签 [node-commander]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
17 浏览

node.js - Nest-commander 的 NestJS 依赖问题

我有五个模块:

  • AppModule
  • FirstModule
  • SecondModule
  • SourceModule1
  • SourceModule2

还有一个额外的nest-commander

  • CommanderModule,其中包含以下文件:

  • Job.command.ts(使用 @Command() 装饰器并实现 CommandRunner 接口)

  • CommanderService(只是一个服务层,Job.command会因为其他一些问题而调用)

  • Commander.ts(使用我的引导方法,这是我使用命令调用的方法)

并调用我的命令,我正在使用:npx ts-node src/<path> argument --option abc

所有模块都有一个服务,并且每个模块都导入到AppModule. FirstModule正在导入SourceModule1SourceModule2在其服务上使用它们,同样适用SecondModule,他们都使用SourceModule1 和 2 来满足他们的需求。

我的CommanderModule需求FirstModule是因为CommanderService......运行特定命令时,FirstModule's service应由CommandModule's service.

问题是,每当我尝试FirstModule在我的CommanderServiceso Job.commandmay call 一个CommanderService方法上使用并且该方法可能会调用FirstModule's service时,我的命令不会达到它的“运行”方法,如果我注释掉它FirstModule's service,它就可以工作。我知道nest-commander使用@Command()作为处理依赖注入等的一种方式,但CommanderService除了Job.command?