Require.js第三方图书馆依赖关系

时间:2013-02-19 17:25:40

标签: javascript requirejs

将第三方库(JQuery / Underscore / Backbone)定义为模块并将其用作依赖项有什么好处?

require(["jquery", "underscore"], function($, _) {
    // Use $ and _ in here
});

Underscore例如创建一个全局'_'变量,我可以在上面的函数中轻松使用,假设在该函数之前包含下划线。

要由Require使用,Underscore要求修改代码以返回值或定义的垫片。当我可以通过脚本标记包含它时,为什么还要烦恼?

我知道它提供了一定程度的间接,并允许我将其他依赖关系映射到那些相同的变量,并将其作用域本地扩展到该函数。但是,我并不认为这对构成应用程序核心的这些类型的第三方库有用。

2 个答案:

答案 0 :(得分:2)

在使用Backbone / requireJs构建一些应用程序后,我发现使用requireJs构建主干应用程序没有任何不利之处,其中主要依赖项通过旧的学校脚本标记进行简单加载。

首先,您必须加载此要求,大多数模块都会使用它,您可能永远不会将其与其他框架交换。因此,每个模块中都没有样板代码。

答案 1 :(得分:0)

您不必更改库以在AMD加载程序中使用它。

require.config({paths:{underscore:'//some.cdn/path/to/underscore.js'}})

require(["jquery", "underscore"], function($ /*, note that we don't override _ here */) {
    // Use AMD $ and global _ in here
});