首页 > 解决方案 > 在 Nestjs 应用程序中使用一个外部模块实例

问题描述

我正在将一个类从外部库导入到我的 NestJS 应用程序中。我想用几个环境变量创建一个实例,并让该实例可用于整个应用程序。

在常规的 Node.js 应用程序中,我将导入 lib 并在单独的模块(文件)中初始化实例,然后将其导入任何我需要的地方。

在 NestJS 中这样做的最佳实践是什么?

标签: node.jsnestjs

解决方案


您需要使用 DI 来解决问题。因此,您需要在某个模块中定义您的类或服务并将其导出。然后,您可以为它的创建定义一些自定义逻辑,providers例如

{
    provide: SomeClass,
    useFactory: () => { ... }
}

您可以在中使用任何自定义逻辑useFactory来创建实例。与将模块导入其他模块相比,同一类的实例将可用。

UPD:您可以在此处阅读有关自定义提供程序的更多信息https://docs.nestjs.com/fundamentals/custom-providers#factory-providers-usefactory


推荐阅读