【问题标题】:I want class A import class B, B class also import A, only for import types我要A类导入B类,B类也导入A,只针对导入类型
【发布时间】:2019-06-11 18:36:52
【问题描述】:

打字稿编译器不工作

a.ts

import B from "./b";

class A {
    value: number = 1;

    x(b: B){
        return this.value - b.value;
    };
};

b.ts

import A from "./a";

class B {
    value: number = 2;

    y(a: A){
        return this.value + a.value;
    };
};

c.ts

import A from "./a";
import B from "./b";

class C {
    z(){
        let a = new A(), b = new B();

        console.log(
            a.x(b) + b.y(a)
        );
    };
};

我应该如何在 b.ts 中导入 A 并在 a.ts 中导入 B ? Triple-Slash Directives 对我有用吗?

【问题讨论】:

  • 你正在生成循环依赖,这是一个大问题,应该避免。我建议重新考虑你的代码(也许使用知道 A 和 B 的类)并改变你的类相互认识/导入的方式。
  • 如果您添加代码的目标,也许您可​​以在重构它时获得帮助。
  • 谢谢,问题已经解决。早期,我用webpack用awesome-typescript-loader构建typescript,然后错误来了。然后我用ts-loader 代替awesome-typescript-loader,这里没有任何错误。

标签: typescript


【解决方案1】:

使用 Webpack: 当我使用awesome-typescript-loader 时,错误来了。 然后我用ts-loader 代替awesome-typescript-loader,这里没有任何错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 2012-03-18
    • 2011-09-14
    • 2019-04-14
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多