【问题标题】:What are shim JavaScript libraries and why they don't support AMD?什么是 shim JavaScript 库以及为什么它们不支持 AMD?
【发布时间】:2014-05-23 18:51:59
【问题描述】:

我将使用 RequireJS 来利用 AMD。

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

谁能告诉我 AMD JavaScript 库和 shim 库之间的区别?

【问题讨论】:

    标签: javascript requirejs amd shim


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

    【讨论】:

    • 感谢 jeremy,但我担心的是 AMD 和非 AMD(shim) Liberies 之间的区别。我期待一些可以证明差异的例子。
    猜你喜欢
    • 2014-03-03
    • 2011-08-03
    • 2014-05-27
    • 1970-01-01
    • 2022-08-13
    • 2014-06-01
    • 2015-09-08
    • 1970-01-01
    • 2018-01-07
    相关资源
    最近更新 更多