requirejs vs google javascript关闭依赖关系管理

时间:2012-12-16 15:27:34

标签: javascript requirejs dependency-management google-closure

我一直在使用google javascript闭包库来处理各种组件,我也使用了它的依赖关系管理。我很好奇这与使用requirejs进行依赖关系管理相比如何。具体来说,有一个特别的理由选择一个吗?

如果我正在使用谷歌闭包库,是否有合理的理由使用requirejs来管理依赖项与使用闭包依赖项管理?是否存在需要js的标准,闭包不是吗?

1 个答案:

答案 0 :(得分:4)

Closure Library依赖关系管理旨在提供解析依赖关系的文件排序,并在编译期间由Closure Compiler删除(实际上根据需要重写以提供命名空间)。虽然编译器对AMD模块有一些实验编译时支持,但他们仍然需要在类型检查方面做一些工作,特别是要完全替代Closure的goog.require。即使编译器支持足够,goog.require也不需要JS的完整解析来进行依赖关系管理(我不熟悉RequireJS以了解是否是这种情况)因此对于具有许多可选项的大型项目文件goog.require目前效率更高。