Injection

轻量的 Node.js 应用依赖注入容器

快速上手 →

$ npm install injection reflect-metadata --save

Injection 依赖了 TypeScript >= 2.0 的一些实验性特性,需要手动在 tsconfig.josn 开启.

{
  "compilerOptions": {
    "target": "ES2017",
    "lib": ["es2017", "dom"],
    "types": ["reflect-metadata"],
    "module": "commonjs",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  }
}

注意

Node.js >= 8.0.0 required.

特色功能

代码解耦

IoC 是现在业界比较流行的实践,在 Node.js 应用中使用,可以让应用的代码进行解耦以及可测,在开发过程中也无需关心实例化以及销毁的问题。

易于扩展

Injection 提供了基础的 Container 对象,在其之上可以进行多层次的封装,比如 RequestContainer,同时我们还提供了方便的装饰器扩展能力,简化了定义装饰器时的复杂参数。

框架集成

Injection 作为一个基础的 IoC 容器,可以非常方便的接入到不同的框架体系,除了我们开发的 midway 之外,可以应用到例如 koa,thinkjs 等不同的框架。