我正在尝试将一些旧版 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 全局定义 $ 对象,因此它将覆盖任何现有的全局 $ 变量。 我认为你可以使用 jQuery.noConflict 避免这个问题。
关于jquery - RequireJS - 具有多个 jQuery 版本的 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736531/