js循环依赖与require

时间:2017-02-06 10:26:49

标签: javascript

如何在JavaScript中删除循环依赖项,并且没有使用require('module')模式的双重性?

让我们有两个应该相同的案例:

Two cases 左案例:

// file1.js (depends on file3.js since it uses C2)
class Base {
   add() {
      this.items.push(new C2());
   }
}

// file2.js (depends on file1.js since it uses Base)
class C1 extends Base {
}

// file3.js (depends on file1.js since it uses Base)
class C2 extends Base {
}

介绍循环文件依赖项。

如果我在基类中创建一个实例,通常是不是很糟糕?

右图:

// file1.js (no dependency)
class Base {
}

// file2.js (depends on file1.js and file3.js since it uses Base and C2)
class C1 extends Base {
   add() {
      this.items.push(new C2());
   }
}

// file3.js (depends on file1.js since it uses Base)
class C2 extends Base {
   add() {
      this.items.push(new C2());
   }
}

它不会引入循环文件依赖项,但会复制代码。这两个方法的方法是一样的。想想更长的方法,而不仅仅是一种方法。

0 个答案:

没有答案