RequireJS Backbone.Marionette应用程序-使用R.js优化后,正在运行jQuery的多个实例

时间:2018-07-03 23:38:55

标签: javascript jquery backbone.js requirejs marionette

我有一个用RequireJS构建的旧版Marionette 2应用程序。我们最近删除了将jQuery作为脚本标签加载,而是让RequireJS为我们加载它。

这引发了一个奇怪的问题-$加载的Require的实例与$提供的Marionette的实例不同,但仅当使用R.js进行了优化。

在下面的示例中,我希望$1$2是JQ的同一实例,但事实并非如此。

define(['app', 'jquery'], function (App, $1) {

  App.module('My.Module', function (View, App, Backbone, Marionette, $2, _) {

    $1 === $2; // this is false
  }

});

问题在于,由require加载的JQ插件在Marionette提供的$中不存在,但是在Require提供的$中存在!

看起来Backbone.$与提供的$相同。 window.$与提供的$的牵线木偶相同-但两对彼此不同。

我认为下划线也发生了同样的事情(mixins仅出现在Require版本中)

有什么想法可以确保在RequireJS Marionette应用程序中全面使用相同的JQ实例吗?

需要配置吗?

0 个答案:

没有答案