jQuery的RequireJS配置

jQuery的RequireJS配置,requirejs,Requirejs,我正试图将RequireJS配置为从我站点上的另一个文件夹加载jQuery,而不是从其他所有内容所在的/Scripts文件夹加载jQuery。我正在用Fiddler观看页面加载,我总是看到jQuery请求发出的是/Scripts/jQuery.js,而不是正确的URL 在我的标记中,我有以下内容: <script src="@Url.Content("~/Scripts/require.js")" type="text/javascript" data-main="@Url.Content

我正试图将RequireJS配置为从我站点上的另一个文件夹加载jQuery,而不是从其他所有内容所在的
/Scripts
文件夹加载jQuery。我正在用Fiddler观看页面加载,我总是看到jQuery请求发出的是
/Scripts/jQuery.js
,而不是正确的URL

在我的标记中,我有以下内容:

<script src="@Url.Content("~/Scripts/require.js")" type="text/javascript" data-main="@Url.Content("~/Scripts/main")"></script>
require.config({
    waitSeconds: 10,
    paths: {
        "jquery": "/N2/Resources/Js/jquery-1.7",
        "modernizr": "modernizr-2.0.6-development-only"
    }
});

require(["jquery", "jquery.utility", "jquery.link-decorators", "jquery.google-analytics", "accessibility", "modernizr"], function ($) {

... omitted

});
在Fiddler中,我看到正确的Modernizer请求发出,但是对于
/Scripts/jQuery.js
,jQuery请求发出

作为测试,我将我的modernizr行更改为
“modernizr”:/N2/Resources/Js/modernizr-2.0.6-development-only“
,我看到该资源的请求发出(当然它返回404)。所以我知道RequireJS看到了我的配置,并且正在处理它


注意:我知道在RequireJS中处理jQuery的各种方法。我所有的插件都定义了模块,所以无序加载不会成为问题。我正在使用jQuery1.7,它支持AMD。

我找到了答案。在页面主体的标记中,我有

<script type="text/javascript">
require(["jquery", "Rotator"], function ($, Rotator) {
    $(document).ready(function () {
        var homeRotator = new Rotator();
        homeRotator.initialize($('#home-rotator ul.rotator-content li'), { viewTime: 30000, transitionTime: 2500 });
    });
});

require([“jquery”,“Rotator”],函数($,Rotator){
$(文档).ready(函数(){
var homeRotator=新的Rotator();
初始化($('#home rotator ul.rotator-content li'),{viewTime:30000,transitionTime:2500});
});
});

这就是导致请求
/Scripts/jquery
的原因。
Rotator
模块依赖于
jquery
。如果我在这里删除
jquery
依赖项,页面将正确加载。问题似乎是我将我的
require.config
设置放入了
main.js
,它是由
require.js
异步加载的。在加载
main.js
之前,在主体中会遇到上面的脚本,因此对jQuery的请求会转到默认位置,而不是配置的位置

我将我的配置设置移动到页面标题中的
标记中,现在它开始工作了