我在TypeScript
中遇到依赖项问题。如何对它们进行排序以使一切正常?那有什么工具吗?
问题看起来像这样......我有2个模块:
module Module1 {
export class A {
}
export class B {
}
}
module Module2 {
export class C {
}
export class D {
}
}
Module1
使用Module2
中的类,Module2
使用来自Module1
的类。所以这是一种循环(在模块上)。现在,当我将其编译为JavaScript
时,我收到一个错误:
Microsoft JScript runtime error: 'Module2' is undefined
会发生这种情况,因为Module2
JS
引用应该包含在Module1
之内。当我有这样的周期时,如何解决问题?有可能吗?
答案 0 :(得分:2)
在面向对象编程中,它有助于使依赖关系在单一方向上流动。使Module1取决于Module2以及Module2取决于Module1将导致问题,即使在允许循环依赖的语言中也是如此。
您应该能够通过拥有依赖于Module1和Module2的Module3来解决问题 - 而不依赖于Module3。在这个例子中,我假设B依赖于C而D取决于A:
module Module1 {
export class A {
}
}
module Module2 {
export class C {
}
}
module Module3 {
export class B {
}
export class D {
}
}
另一种解决方案可能是接受如果这两个模块具有这么多依赖关系 - 它们应该只是一个模块。
module Module1 {
export class A {
}
export class B {
}
export class C {
}
export class D {
}
}
答案 1 :(得分:2)