gpt4 book ai didi

javascript - requirejs 看不到 jquery

转载 作者:行者123 更新时间:2023-11-30 12:09:57 25 4
gpt4 key购买 nike

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

enter image description here

您可以看到有两个 jQuery 文件。 RequireJS 只能看到与 default.js 位于同一级别的内容,所以这段代码:

require(
['jquery', 'modules/module1', 'modules/module2'],
function($, Module1, Module2){
$('body')
.append(Module1.phrase)
.append('<hr/>')
.append(Module2.ask);
}
);

...有效

但是如果我将 ['jquery', ... 更改为 ['libs/jquery', ... ,它会显示一个错误:

Uncaught TypeError: $ is not a function

这是怎么回事?完整代码在这里:http://plnkr.co/edit/QuFsKN597RD873MOlUw8?p=preview

最佳答案

jQuery 必须确实是必需的 jquery .

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

一个简单的修复是添加一个 paths 配置:

paths: {
jquery: 'libs/jquery'
}

关于javascript - requirejs 看不到 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com