使用 backboneJS 并加载两个不同的 jquery 版本有效,但不是一个或另一个

Using backboneJS and loading two different builds of jquery works but not one or the other

这是一个有点过时的问题,但仍然很好奇,我没有提出任何问题,除了这是不好的做法。 (顺便说一句,这个代码不会用两个来生产)

我有一个 backbone.js 应用程序,我正在将 jQuery 从 1.9.1 更新到 3.1.1。根据现在的构建方式,我可以使用 3.1.1,但前提是我还加载了 2.2.4 版。如果我删除一个或另一个脚本标签,应用程序就会中断,我会得到 Uncaught ReferenceError: jQuery is not definedUncaught TypeError: $ is not a function 作为全面的错误。 我已将 var $= jQuery; 添加到首次加载 jQuery 的位置,但该错误仍然存​​在。

想知道我在哪里偏离轨道 and/or 为什么会这样。

如何加载脚本

 <script type="text/javascript" src="libs/jquery.min.js"></script> 
<script type="text/javascript" src="libs/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="libs/underscore-min.js"></script>
<script type="text/javascript" src="libs/backbone-min.js"></script>
<script type="text/javascript" src="libs/tooltip.js"></script>
<script type="text/javascript" src="libs/popper.js"></script>
<script type="text/javascript" src="libs/bootstrap.js"></script>
<script type="text/javascript" src="libs/tooltip.js"></script>
<script type="text/javascript" src="libs/less.min.js"></script>
<script type="text/javascript" src="libs/mobiledatepicker.jquery.js"></script>
<script type="text/javascript" src="libs/moment.min.js"></script>
<script type="text/javascript" src="libs/serialize.min.js"></script>
<script type="text/javascript" src="libs/sha256.min.js"></script>

我在 backbone 1.3.3 和 bootstrap 4 上做的最后一件事。代码在 jQuery 版本 2.0.3

下工作

所以发现这与我加载它的 window 更多有关。不,仍然可以弄清楚为什么 jQuery 的两个版本会加载并制作页面反应灵敏,但一个人不会。

问题归结为我正在将页面和脚本加载到电子应用程序中。

<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script><script>if (window.module) module = window.module;</script> 环绕代码解决了仅加载一个问题。