我已经看到加载模块的许多变体,但还不支持AMD,我想知道这样做的最佳做法是什么。
最后,我想写这样的模块:
module.js:
define(["jQuery", "Underscore", "Backbone"], function($, _, Backbone) {
... module code here
}
但是使用AMD加载这些依赖项存在很多问题,因为它们并非都符合AMD标准。
答案 0 :(得分:4)
我创建了一个todo-list样板web应用程序,它将所有模块加载为AMD模块(不带加载器)。
检查出来:
答案 1 :(得分:2)
Thomas Davis在他未更新的示例中有一个更好的例子(imo)来加载jquery / underscore / backbone。首先查看加载程序here
它使用找到here的RequireJS订单插件同步加载模块。
答案 2 :(得分:1)
看看this示例。它很好地展示了如何使用骨干和requirejs。它还展示了如何整齐地组织模型,视图和集合。
答案 3 :(得分:1)
最新版本的RequireJS增加了使用NON-AMD JS文件的功能。
require.config({
'paths': {
"underscore": "libs/underscore-min",
"backbone": "libs/backbone-min"
},
'shim':
{
backbone: {
'deps': ['jquery', 'underscore'],
'exports': 'Backbone'
}
}
});
试一试。
答案 4 :(得分:0)
我对AMD不了解的一点是看起来它只在需要时加载必要的js,但是当你访问第一页加载的应用程序时,它会加载所有js html css文件。