将AMD支持添加到库时,是否还要在define()中列出其依赖项

时间:2015-03-09 16:43:50

标签: javascript requirejs amd

我希望将AMD支持添加到库中,尽管不完全理解它。我有以下代码添加AMD支持:

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

该库依赖于第三方库imagesLoaded和Hammer。我已将它们列为define()中的依赖项,但我担心这是否会限制使用我的插件的开发人员到特定的文件结构和命名约定,其中imagesloaded,hammer和sequence都必须存在于同一目录中水平。

以上代码是否正确启用了AMD支持,是否会出现此限制?

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

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

1 个答案:

答案 0 :(得分:1)

Path config可用于定义依赖项的路径。所以你不必担心用户目录结构。

您应该只提供您希望作为依赖项的AMD模块的信息以及它应该提供的功能。它甚至可能像$一样抽象(来自jquery,zepto或sizzle)