是否可以更改UMD模块中声明的变量

时间:2016-09-28 16:09:13

标签: javascript jquery

我要包含一个需要JQuery 2.2的旧库,但我希望其他所有内容都使用最新版本的JQuery。有问题的库混合使用UMD(我认为)所以代码看起来像这样......

(function ($) {
  $.extend(true, window, {
    ...
  })
})(jQuery);

有没有办法可以将jQuery变量更改为旧版本,而不是应用程序其余部分使用的版本?

1 个答案:

答案 0 :(得分:1)

确保在加载库时window.jQuery引用旧的jQuery版本。

一旦库加载了旧的jQuery版本,你就加载了更新的版本,然后加载你的应用程序代码。

<script src="old-jquery.js></script>
<script src="library.js"></script>
<script src="new-jquery.js"></script>
<script src="app.js"></script>

如果您不想按此顺序加载代码,可以:

  1. 加载新的jQuery版本
  2. 加载您的应用代码
  3. 加载旧的jQuery版本
  4. 加载插件
  5. 调用jQuery.noConflict() - 这将恢复新版本的jQuery
  6. 由于jQuery 2.2相对较新,你也可以尝试加载最新版本的jQuery。