我将使用RequireJS来利用AMD。
在RequireJS配置中,我找到了一个shim
块来定义shim JavaScript库。
任何人都可以告诉我AMD JavaScript库和填充库之间的区别吗?
答案 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模块,需要正常加载或填充。