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

我试图在模块中包装一些遗留的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,而其他插件不需要版本,那么只加载某个版本?

提前致谢。

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