如何在requirejs中声明一个模块已经同步加载

How to declare in requirejs that a module has already been loaded sync

我有一个依赖于 jquery 的 requirejs 模块。我决定将其作为来自 CDN 的 <script> 条目静态添加到网页中,而不是从目录加载 jquery。然而,requirejs 一直尝试从文件加载。

有没有办法告诉 requirejs 在 HTML 中添加了给定的依赖项,因此它不应该检索它?

没有配置选项告诉 RequireJS 某些东西已经加载了。但是,您可以创建一个伪造的 jquery 模块,它只允许访问您已经通过脚本加载的 jQuery:

define("jquery", function () {
  return jQuery;
});

当我做这样的事情时,我在调用 require.config 之前添加了这个假模块。我发现这是一个方便的地方。

此外,确保加载 jQuery 的 script 元素出现在加载 RequireJS 的 script 元素之前。否则,jQuery 将检测 RequireJS 并调用 define 本身,你会得到一个错误。