Javascript requirejs可以';我看不到jquery

Javascript requirejs可以';我看不到jquery,javascript,jquery,requirejs,amd,Javascript,Jquery,Requirejs,Amd,我有一个使用requirejs的最简单的项目。数据主文件为js/default.js 您可以看到有两个jQuery文件。RequireJS只能看到与default.js处于同一级别的代码,因此以下代码: require( ['jquery', 'modules/module1', 'modules/module2'], function($, Module1, Module2){ $('body') .append(Module1.phr

我有一个使用requirejs的最简单的项目。数据主文件为js/default.js

您可以看到有两个jQuery文件。RequireJS只能看到与default.js处于同一级别的代码,因此以下代码:

require(
    ['jquery', 'modules/module1', 'modules/module2'],
    function($, Module1, Module2){
        $('body')
            .append(Module1.phrase)
            .append('<hr/>')
            .append(Module2.ask);
    }
);
这里怎么了?
完整代码如下:

请查看requirejs文档:

jQuery在检测AMD/RequireJS时定义命名的AMD模块“jQuery”(全部小写)。为了减少混淆,我们建议在requirejs.config中使用“jquery”作为模块名称


jQuery确实必须是必需的

现在,关于模块名称可能仍然存在混淆。有人可能会查看依赖项
libs/jquery
,并推断jquery实际上是
jquery
所必需的。也就是说,执行
require(['libs/jquery'],…
将要求RequireJS加载位于
libs/
中的模块
jquery
。但是,情况并非如此。所需模块的模块名是依赖项列表中列出的完整名称。因此,在上面的
require
调用中,所需模块的模块名是
libs/jquery
jQuery调用
define('jQuery'),…
将自己声明给RequireJS。模块名称(第一个参数是
jQuery
,而不是
libs/jQuery
),因此RequireJS无法找到请求的模块

一个简单的修复方法是添加
路径
配置:

paths: {
    jquery: 'libs/jquery'
}
您可能会看到:
paths: {
    jquery: 'libs/jquery'
}