使用require.js将jQuery,Underscore和Backbone作为AMD模块包含的最佳方法是什么?

时间:2011-12-26 08:57:29

标签: javascript backbone.js underscore.js requirejs

我已经看到加载模块的许多变体,但还不支持AMD,我想知道这样做的最佳做法是什么。

最后,我想写这样的模块:

module.js:

define(["jQuery", "Underscore", "Backbone"], function($, _, Backbone) {
    ... module code here
}

但是使用AMD加载这些依赖项存在很多问题,因为它们并非都符合AMD标准。

5 个答案:

答案 0 :(得分:4)

我创建了一个todo-list样板web应用程序,它将所有模块加载为AMD模块(不带加载器)。

检查出来:

https://github.com/ronreiter/webapp-boilerplate

答案 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文件。