• Angular 中的依赖注入确实非常好用,可以使服务之间的依赖关系变得更加灵活和可复用
  • 但是只能在 Angular 中的使用限制了他的发挥,需要让他在所有 node/前端 平台上都可以使用

如何使用?

为什么不写一个与 Angular 依赖注入相同的包

  • 一个成熟的功能往往经过了多方面的考量,所以如果能不造轮子那么是最好的
  • 直接使用 Angular 的源码可以保证功能与官方一直同步,不需要担心自己实现的逻辑与官方之间存在差异
  • node/前端使用同样的逻辑没有心智负担

直接复制代码就能使用了?

  • 当然不是,首先 Angular 中的源码都是为了它自身设计服务的,所以会有一些我们不需要的功能需要删减.比如@Module会有依赖注入相关的代码,@Host等组件装饰器,还有更多非通用依赖都需要去除
  • Angular 使用依赖注入为静态依赖注入,所以需要实现自己的静态编译方法,保证代码与官方一致
  • 需要创建接口,对接并调用 Angular 源码,使得功能正常运行

运行成功就结束了?

  • 运行成功不是结束,反而是开始的第一步,代码成功独立执行了,那么接下来就要保证代码能与Angular官方同步,不错过新的特性,也不错过缺陷修复
  • 所以我们要找到一种可以稳定修改代码的方法,可以随着项目更新自动对代码进行裁剪,然后针对裁剪结果进行细微调整,减少工作量

使用Code Recycle对代码进行稳定更新同步

  • 更新同步脚本
  • 通过脚本对 Angular 源码进行拉取,使用 css 选择器语法查询并修改代码
  • 修改代码之后对代码进行测试
  • 每次更新后只需要修改 tag => 同步更新 => 测试 => 调整(如果有问题) => 发布.减少了手工修改可能产生的问题

如何知道仓库支持哪些功能

  • 查看用例
  • 所有存在的用例均经过了测试验证,如果您有其他功能需要使用也可以提交 issue

wszgrcy
25 声望10 粉丝

我说我懂Angular,你们信吗