Javascript 添加在已经将jquery作为全局查询的页面上使用jquery的RequireJS模块
我有一个应用程序的附加组件(称为appX),它允许用户使用javascript、css和appX的WebServicesAPI创建自己的定制 通常定制很小,不涉及很多外部库/插件,但当它们有外部lib时,典型的用户选择的库是jQuery 在appX的下一个版本中,他们本机使用jQuery,我知道这会破坏一些定制 所以我需要将这种情况模块化。我还有一些其他的问题,RequireJS似乎是解决这些问题的好方法我只需要弄清楚如何在这种情况下正确应用RequireJS 在我的POC中,我加载require.js如下:Javascript 添加在已经将jquery作为全局查询的页面上使用jquery的RequireJS模块,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我有一个应用程序的附加组件(称为appX),它允许用户使用javascript、css和appX的WebServicesAPI创建自己的定制 通常定制很小,不涉及很多外部库/插件,但当它们有外部lib时,典型的用户选择的库是jQuery 在appX的下一个版本中,他们本机使用jQuery,我知道这会破坏一些定制 所以我需要将这种情况模块化。我还有一些其他的问题,RequireJS似乎是解决这些问题的好方法我只需要弄清楚如何在这种情况下正确应用RequireJS 在我的POC中,我加载requir
<!--A bunch of other script including jQuery (but not require) are loaded already -->
<script type="text/javascript" src="/custom/js/require.js"></script>
<script type="text/javascript" src="/custom/js/dostuff.js"></script>
但是在这种情况下,RequireJS是在jQuery(jqueryx)之后加载的,所以没有默认的“jQuery”
定义,对吗
在我向你展示我的问题之前,再多了解一些背景。。。文件结构如下所示:
appx
/js:
jqueryx.js
other.js
appx
/custom/js:
jqueryp.js
dostuff.js
看看RequireJS api,我似乎应该做:
但当我这样做时,我会得到一个错误:
Mismatched anonymous define() module: function (jq)...
我一直在尝试切换对jquery
,jqueryprivate
的引用,因为这有点让人困惑,但没有任何进展
我应该如何将RequireJS应用于这种情况 差不多晚了一年,但总比没有答案好 应将以下部分移动到“jquery private.js”文件中: 无法在主入口点中定义模块。即使可以,模块也没有名称,那么您将如何引用它?可能重复的
require.config({
baseUrl : 'custom/js',
paths : { 'jquery' : 'jqueryp'},
map: {
'*': { 'jquery': 'jquery-private' },
'jquery-private': { 'jquery': 'jquery' }
}
});
define(['jquery'], function (jq) {
return jq.noConflict( true );
});
require(['jquery'], function(jq){
console.log(jq.fn.jquery);
});
Mismatched anonymous define() module: function (jq)...
define(['jquery'], function (jq) {
return jq.noConflict( true );
});