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

标签 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,而其他插件不需要版本,则仅加载特定版本?

提前致谢。

最佳答案

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

关于jquery - RequireJS - 具有多个 jQuery 版本的 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736531/

相关文章:

javascript - 使用 requirejs 加载 mustache

javascript - RequireJs:在哪里放置模块/库的全局配置

javascript - 如何选择以前的元素,直到用 JQ 指定?

javascript - 在一定数量的字符后附加 'Read More' 链接并隐藏其余字符

c# - 给 JSON 对象什么类型

javascript - 组件未在当前 View 中更新

javascript - 如何编写可测试的 requirejs 模块

javascript - 从两个不同的事件调用相同的函数以进行同时处理

jquery - Nivo Controlnav 位置

backbone.js - 带有文本的 require.js backbone.js 的正确构建步骤!插入