我们可以用BackboneJS和UnderscoreJS模块命名在RequireJS
的AMD兼容版本我曾在AMD兼容库看看两个(https://github.com/amdjs/)以下是相关的代码,使AMD兼容他们。
BackboneJS(AMD);
else if (typeof define === 'function' && define.amd) {
// AMD
define(['underscore', 'jquery', 'exports'], function(_, $, exports) {
// Export global even in AMD case in case this script is loaded with
// others that may still expect a global Backbone.
root.Backbone = factory(root, exports, _, $);
});
UnderscoreJS(AMD);
// AMD define happens at the end for compatibility with AMD loaders
// that don't enforce next-turn semantics on modules.
if (typeof define === 'function' && define.amd) {
define('underscore', function() {
return _;
});
}
现在要在我们的代码中使用这些AMD兼容库,我们说;
requirejs.config({
enforceDefine: true,
paths: {
"jquery": "libs/jquery-1.8.3",
"underscore": "libs/underscore-amd",
"backbone": "libs/backbone-amd"
}
});
现在我读了骨干模块名称可以是任何东西,但下划线的名称必须是“强调”和下划线,资本是非常重要的。
我无法理解为什么基于库定义的差异。
你能否给我解释一下。
所以,如果我理解正确,顺序/顺序是这样的...如果模块名称没有通过define()(定义骨干)在模块内定义...那么它被命名为每个定义在路径中(在执行requirejs.config()时) – testndtv 2014-11-05 07:37:28
是的,这就是它的工作原理。 – Louis 2014-11-05 11:20:27