我将使用 RequireJS 来利用 AMD。
在 RequireJS 配置中,我找到了一个 shim
block 来定义 shim JavaScript 库。
谁能告诉我 AMD JavaScript 库和 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 模块,需要正常加载或进行填充。
关于javascript - 什么是 shim JavaScript 库以及为什么它们不支持 AMD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981708/