简介
@pushrocks/smartinject 是一个用于 JavaScript 和 TypeScript 的依赖注入库。它通过提供一个简单、干净的 API,使得在应用程序中使用依赖注入易如反掌。该库支持 TypeScript 类型,并自动解析 TypeScript 类型中的注入需求。
安装
在项目中安装 @pushrocks/smartinject:
npm install @pushrocks/smartinject
使用
使用 @pushrocks/smartinject 可以在应用程序中很容易地实现依赖注入,无需使用大型框架。首先要创建一个容器。容器是一个地方,可以存储您应用程序中使用的各种依赖项。
import { Container } from '@pushrocks/smartinject'; const container = new Container();
由于 @pushrocks/smartinject 可以自动解析 TypeScript 类型中的注入需求,因此我们只需要将我们的类与容器中的键关联起来即可。
-- -------------------- ---- ------- --------- ------- - ---- --------- ------- -- ----- - ----- ------------- ---------- ------- - ------------ ------- - --------------------- - - ----------------------------- ---------------
现在,我们可以获取类的实例,它将自动满足它们的依赖关系。
-- -------------------- ---- ------- ----- ------- - ------------------- ------- -------- -- ------------- - ---------------------- -------- - - ----- ------- - --------------------------- ---------------------- -- ---- ------ ------
我们还可以为容器中的其他服务指定其他依赖项:
-- -------------------- ---- ------- --------- --------- - -------- -- -- ----- - ----- ----------- ---------- --------- - ------------------- ------- -------- -- --------- - --------------------------- -- --- ----------- - - ------------------------------- ------------ -------------
在这个例子中,我们指定 SqlDatabase 类需要 ILogger 依赖项。如果它在容器中找到数据库的键,将自动解析 ILogger 依赖项。
-- -------------------- ---- ------- ----- --------------- - ------------------- --------- ---------- -- ----------------- - ------------------------ - - ----- --------- - ----------------------------------- ---------------------------- -- ---- ----------- -- --- ---------
总结
使用 @pushrocks/smartinject 可以轻松实现依赖注入,而无需使用大型框架。该库支持 TypeScript,并自动解析 TypeScript 类型中的注入需求,使得在应用程序中使用依赖注入易如反掌。它的代码稳定、简单,不需要太多的学习成本,值得您学习和使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671cc30d0927023822868