解决requireJS的循环依赖关系

时间:2014-06-04 12:58:09

标签: javascript requirejs typescript circular-dependency

我们有大量使用外部模块的打字稿文件,我们正在寻找循环依赖关系。 (我已经查看了其他问题like this,但似乎没有人回答我的具体问题。)这是打字稿,所以我们限制了它生成javascript的方式。

  1. 首先,是否有一个工具可以读取我的所有文件(.ts或.js)并标记我有循环依赖的地方?如果我们能识别它们,我认为我们可以消除最多。
  2. 我们有几种情况,我们必须模拟设计强制循环依赖。有没有办法在requireJS中处理这个问题(再次由typescript创建)?
  3. 使用typescript编译器从所有.ts文件创建单个.js文件的答案是什么?如果是这样,在调试和生产时,这种方法是否有任何缺点?
  4. 谢谢 - 戴夫

1 个答案:

答案 0 :(得分:0)

  

是否有一个工具可以读取我的所有文件(.ts或.js)并标记我有循环依赖的地方?

Atom-TypeScript可以进行循环依赖性分析:https://github.com/TypeStrong/atom-typescript/blob/master/docs/dependency-view.md#circular

这看起来很有趣:https://www.npmjs.org/package/madge

  

有没有办法在requireJS中处理这个问题

您最初未定义,但您可以再次requirehttp://requirejs.org/docs/api.html#circular

  

使用typescript编译器从所有.ts文件创建单个.js文件的答案是什么?如果是这样,这种方法在调试和生产时是否有任何缺点?

--out。 -ves:编译时间较慢,必须使用源图进行调试。 无法在生产时延迟加载代码库的部分内容。