【发布时间】:2014-05-23 18:51:59
【问题描述】:
我将使用 RequireJS 来利用 AMD。
在 RequireJS 配置中,我找到了一个 shim 块来定义 shim JavaScript 库。
谁能告诉我 AMD JavaScript 库和 shim 库之间的区别?
【问题讨论】:
标签: javascript requirejs amd shim
我将使用 RequireJS 来利用 AMD。
在 RequireJS 配置中,我找到了一个 shim 块来定义 shim JavaScript 库。
谁能告诉我 AMD JavaScript 库和 shim 库之间的区别?
【问题讨论】:
标签: javascript requirejs amd shim
RequireJs 模块是遵循一组非常具体的代码规则的模块——主要与需要哪些模块(模块可能需要其他模块)以及它导出的函数或方法有关。
shim 是与非 ADM 库一起使用的代码块,为 RequireJS 提供一组提示,允许使用非 AMD 库进行加载。
编辑
简而言之,AMD 模块的开头是这样的:
define(
module_id /*optional*/,
[dependencies] /*optional*/,
definition function /*function for instantiating the module or object*/
);
有些系统使用奇怪的包装器来检测 AMD 是否可用,如果可用,它们会使用它,否则它们会将 define 变成美化的 eval 声明。
其他任何东西不是 AMD 模块,需要正常加载或填充。
【讨论】: