文档
在 JavaScript 中使用

在 JavaScript (ES6+) 当中使用

即使你没有使用 TypeScript,仍然可以使用 redi。

redi 对于 TypeScript 的语法依赖仅限于装饰器,而装饰器仅被用于在类上声明依赖关系。JavaScript 没有装饰器,作为替代,你可以使用 setDependencies

在 TypeScript 中的这样一段代码:

class MapService {
  constructor(
    @SkipSelf() @ISatelliteService private readonly satellite: ISatelliteService
  ) {}
}

等价于 JavaScript 中这样一段代码:

class MapService {
  constructor(satellite) {
    this.satellite = satellite
  }
}
 
setDependencies(MapService, [[new SkipSelf(), ISatelliteService]])

可以看到,此时声明依赖的语法和对工厂函数声明依赖的语法是一致的。