RequireJS - 具有多个jQuery版本的jQuery插件

时间:2014-02-12 18:29:53

标签: jquery requirejs

我正在尝试将一些遗留的js代码包装在模块中,以便可以使用RequireJS加载它们。

我有三个jQuery插件,我们称之为a,b和c。

  • 插件适用于任何版本的jQuery
  • 插件b适用于jQuery版本1.4.2
  • 插件c使用a和b,适用于任何版本的jQuery。

因此,只要需要插件a,需要加载的jQuery就是版本1.4.2。 我的require.config看起来像:

require.config({
   paths:{
        "jquery": "libs/jquery.1.9.1.min",
        "jquery1-4-2" : "libs/jquery1.4.2.min"
   });

插件的定义如下:

plugin a:
   define(["jquery"], function($){ (...) });
plugin b:
   define(["jquery1-4-2"], function($){ (...) });
plugin c:
   define(["jquery", "a","b"], function($){ (...) });

如何配置此方案,以便如果任何插件需要某个版本的jQuery,而其他插件不需要版本,那么只加载某个版本?

提前致谢。

1 个答案:

答案 0 :(得分:-2)

如果你真的使用jquery 1.4这个版本不支持Requirejs,你应该定义de shim配置,但是你会遇到冲突,因为jquery全局定义$ object,所以它会覆盖任何现有的全局$变量。 我认为你可以使用jQuery.noConflict来避免这个问题。