我希望将AMD支持添加到库中,尽管尚不完全了解。我有以下代码增加了对AMD的支持:

if (typeof define === "function" && define.amd) {
  define(["imagesloaded", "hammer"], defineSequence);
} else {
  sequence = defineSequence(imagesLoaded, Hammer);
}


该库取决于第三方库imagesLoaded和Hammer。我在define()中将它们列为依赖项,但是我担心这是否将使用我的插件的开发人员限制为特定的文件结构和命名约定,从而使图像加载,重载和序列化必须全部存在于同一目录级别。

上面的代码是否正确启用了AMD支持,并且可以预期会有这种限制吗?

更新:我的路径配置示例,如正确答案所述:

require.config({
  baseUrl: 'scripts',
  paths: {
    imagesLoaded: 'imagesloaded.pkgd.min',
    Hammer: 'hammer.min'
  }
});

最佳答案

Path配置可用于定义依赖项的路径。因此,您不必担心用户目录结构。

您只应提供有关期望作为依赖性的AMD模块及其应提供的功能的信息。它甚至可能像$这样抽象(来自jquery,zepto或sizzle)

关于javascript - 向库中添加AMD支持时,它是否还应该在define()中列出其依赖关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28947344/

10-12 15:26