我有一个用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实例吗?
需要配置吗?