Eri*_*ric 4 circular-dependency typescript ecmascript-6 systemjs es6-module-loader
我--module system在一个非常大的项目中使用TypeScript和(SystemJS).SystemJS支持循环依赖,并且大多数时候它工作正常.但是,当涉及到TypeScript继承时,事情就会开始破坏.
例如,如果a class A依赖于class B,并且class B 继承自class A,则class A首先加载:
class A's解决并尝试加载class B依赖项class B因为class A被触及了,所以会认为它的依赖关系得到了解决.class B's继承将无法解决,因为class A仍未定义.我可以在网上找到与模块加载器的循环依赖关系的大多数"解决方案":
我觉得循环设计有合理的理由,并且将类合并到巨型文件中并不总是可取的,所以请考虑这些变通方法是我要问的问题.
有没有解决实际问题的方法?
改变您的设计是最有利的解决方案.类不应该依赖于它的子类.如果您在工厂中使用它们,这是一个单独的问题,应该在单独的类/功能/模块中.
有没有解决实际问题的方法?
正如您所说,只有在首先加载模块A时才会出现问题.解决方案是防止这种情况,并在以正确的顺序导入它们的同时编写一个额外的模块作为A及其所有子类的代理.
| 归档时间: |
|
| 查看次数: |
2081 次 |
| 最近记录: |