将第三方库(JQuery / Underscore / Backbone)定义为模块并将其用作依赖项有什么好处?
require(["jquery", "underscore"], function($, _) {
// Use $ and _ in here
});
Underscore例如创建一个全局'_'变量,我可以在上面的函数中轻松使用,假设在该函数之前包含下划线。
要由Require使用,Underscore要求修改代码以返回值或定义的垫片。当我可以通过脚本标记包含它时,为什么还要烦恼?
我知道它提供了一定程度的间接,并允许我将其他依赖关系映射到那些相同的变量,并将其作用域本地扩展到该函数。但是,我并不认为这对构成应用程序核心的这些类型的第三方库有用。
答案 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
});