require.js和jquery init

时间:2014-03-28 10:51:45

标签: jquery requirejs

我正在测试require.js以获得更加结构化的方式来加载库依赖项。但我似乎无法获得使用jQuery的基本示例。我能看到的唯一不同的例子就是我的JS库位于不同的子域中。

代码:

<script src="http://scripts.test.com/arkon-main.js"></script>
<script src="http://scripts.test.com/require.js"></script>

ARKON-main.js

 var require = {    
 baseUrl: 'http://scripts.test.com',
paths: {     
    page: 'http://mypage.test.com/script/page/',
    jQuery: 'jquery',

},
shim: {
    'jQuery': {
        exports: '$'
    }
}

};

页面模块(这是为JS提供服务的PHP代码,因此是URL):

require(["jQuery"], function($) {
    $(document).ready(function() {
        alert('YES');
    });
}); 

在HTML中:

<script>require(["page"]);</script>

在我的网络&#34;在Chrome浏览器中看起来(几乎)很好,我可以看到arkon-main.js,require.js,页面模块和jquery成功加载。但是:

我的问题是在jQuery之前加载页面会导致该部分失败。我不明白为什么,因为我希望加载jQuery的require然后在里面运行代码?

我尝试过不同版本以及requirejs网页上的示例,但我无法在我的环境中使用它。我只想要一个基本的设置,我可以使用require来加载库,因为当我加载新页面时(按正确的顺序),它们是必需的。

建议?

1 个答案:

答案 0 :(得分:0)

jQuery必须以jquery的形式请求,所有低级别的上限,因为名称jquery在jQuery代码中是硬编码的。 (不幸的是,但就是这样。)另外,如果你从1.9.x开始使用jQuery(甚至可能是早期版本),你一定不能指定一个垫片。

这两个问题只会误导RequireJS,可能是造成问题的原因。