我已经在我的 drupal 网站上运行了几个月的 require.js 应用程序。据我所知,应用程序的代码没有任何变化,但昨天突然我开始收到以下错误:
Uncaught Error: Mismatched anonymous define() module:
有趣的是,即使我的 main.js 文件只包含以下内容,我也遇到了同样的错误:
require.config({});
require([''], function() {
});
但是,当我将 main.js 完全留空时,出现以下错误:
Uncaught Error: Script error for: piwik
Piwik 是文档开头包含的第一个 js 文件。
我检查了 Require.js 文档,发现这可能是由于在 Require.js API 之外加载 require 模块造成的。为了测试是否是这种情况,我在 Drupal 环境之外运行了我的应用程序——而不是在 Drupal 模板中加载,我现在通过具有与 Drupal 模板文件相同标记的外部 html 文件加载它。在该设置中,我没有收到错误,并且应用程序按预期加载。
所以我的问题是,与 Drupal 核心 javascript 文件和 require.js 是否存在任何已知冲突?我能想象的唯一引起问题的是jquery(包含在文档头中)会检查define是否是一个函数,以及它是否将jquery定义为一个模块......但是jquery在我包含之前加载需要.js 脚本。
我在页面上没有任何其他包含“define”、“require”或“module”的脚本。
我正在使用最新版本的 Require (2.1.8) 和最新的 Drupal 版本 (7.2.3)