【发布时间】:2022-11-11 12:36:45
【问题描述】:
我是 NestJS 的新手,我正在尝试找出运行一次性初始化任务和导入任务的最佳方法。在 Rails 中,您将使用 Rake 来运行任务,但我不确定在这里使用什么。我看到了类似nest-commander 和nestjs-cli 的东西,但那些似乎你需要设置另一个应用程序实例才能使其工作,我不确定这是否是处理它的正确方法。我也见过像 Jake 这样的其他工具,但我需要在任务中访问我的 NestJS 模块。任何人都找到了处理这个问题的好方法,或者有一个在项目中如何处理好的例子?
【问题讨论】:
-
您需要运行哪些类型的任务以及何时需要运行它们?
-
@JayMcDoniel 我需要运行数据导入/导出(到 Postgres)。在 Rails 中,我可以制作 rake 任务并从 CLI 运行它们,这非常有用。我只是不知道用 NestJS 处理这个问题的好方法。我尝试了 nest-commander 并制作了一个 command.ts 文件,但这似乎效果不佳。
-
我是nest-commander 的作者,所以如果您对此有任何疑问,我很乐意提供帮助。否则,您几乎需要制作可以按需运行的 JS 脚本
-
@JayMcDoniel 是否有任何好的文档可以展示如何将它与应用程序或示例代码一起使用? NestJS 和 nest-commander 站点本身的文档都展示了如何将其用作 CLI 应用程序,但不是串联使用。
-
我没有任何直接的东西,但可以解释这个想法。你开始你的巢服务器
main.ts,对吧?对于串联的 CLI,您可以创建一个使用CommandFactory的cli.ts文件并导入正确的根模块。然后,在编译项目而不是使用nest start或node dist/main之后,您调用node dist/cli并以这种方式运行 CLI 命令。我会看看我是否能找到时间写一些样本
标签: typescript express nestjs typeorm