4

我有以下文件夹结构:

  • 索引.html
  • js/
    • 库/
      • 需要.js
      • jQuery.js
    • main.js

在 index.html 中,我在 head 部分添加了以下行:

<script data-main="js/main" src="js/libs/require.js"></script>

当我向 main.js 添加一个简单的警报时,它可以工作。当我想使用 jQuery 时,它不起作用:

require(['libs/jquery'], function ($) {
    $('#test').html('123');
});

在 chrome web 检查器中,我看到 jquery 加载成功,但文本没有出现在我的 div 中。当我将 jquery 移出./js/libs并放入./js(当然将依赖项更改为['jquery'])时,它就可以工作了。

我究竟做错了什么?为什么我不能把 jquery 放进./js/libs去让事情井井有条?

谢谢

4

2 回答 2

8

如果我配置路径

require.config({
    paths: {
        'jquery': 'libs/jquery'
    }
});

并将要求更改为:

require(['jquery'], function ($) {
    $('#test').html('123');
});

它似乎正在工作。如果有人可以解释我为什么。

于 2012-08-05T18:01:08.940 回答
0

您必须提供 basePath 才能正常工作。在您的情况下,它只是js。您可以在 main.js 文件的开头执行此操作。

require.config({
    baseUrl: '/js'
});

之后,此代码将起作用,因为它将 baseUrl 与您的相对网址连接起来。

require(['libs/jquery'], function ($) {
    $('#test').html('123');
});
于 2013-04-05T20:53:01.710 回答