node.js - 在 Nestjs 应用程序中使用一个外部模块实例
问题描述
我正在将一个类从外部库导入到我的 NestJS 应用程序中。我想用几个环境变量创建一个实例,并让该实例可用于整个应用程序。
在常规的 Node.js 应用程序中,我将导入 lib 并在单独的模块(文件)中初始化实例,然后将其导入任何我需要的地方。
在 NestJS 中这样做的最佳实践是什么?
解决方案
您需要使用 DI 来解决问题。因此,您需要在某个模块中定义您的类或服务并将其导出。然后,您可以为它的创建定义一些自定义逻辑,providers
例如
{
provide: SomeClass,
useFactory: () => { ... }
}
您可以在中使用任何自定义逻辑useFactory
来创建实例。与将模块导入其他模块相比,同一类的实例将可用。
UPD:您可以在此处阅读有关自定义提供程序的更多信息https://docs.nestjs.com/fundamentals/custom-providers#factory-providers-usefactory
推荐阅读
- java - MVVM:ViewModel 逻辑需要来自数据库的信息,但如何等待数据?
- r - 根据指定的时间长度创建一个整数列
- html - 计算可滚动高度
- android-studio - 如何在 Android Studio 北极狐中显示用户片段?
- php - WordPress重定向用户权限不足
- python - 如何将 python dict 转换为 pandas 数据框
- git - 存储库中的 GitHub 安全问题
- drag-and-drop - Meziantou Drag n Drop Blazor:CS1061“InputFile”不包含“Element”的定义
- c - 为什么我的代码不适用于我的 VS 代码和代码块?
- android - 元素在约束布局中出现在屏幕左侧