什么是shim JavaScript库以及他们为什么不支持AMD?

时间:2014-04-10 07:42:22

标签: javascript requirejs amd shim

我将使用RequireJS来利用AMD。

在RequireJS配置中,我找到了一个shim块来定义shim JavaScript库。

任何人都可以告诉我AMD JavaScript库和填充库之间的区别吗?

1 个答案:

答案 0 :(得分:1)

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模块,需要正常加载或填充。