r.js leads to: Evaluating ./lib/jquery.js as module "jquery" failed with error: TypeError: Cannot read property 'createElement' of undefined

r.js leads to: Evaluating ./lib/jquery.js as module "jquery" failed with error: TypeError: Cannot read property 'createElement' of undefined

我正在尝试在使用 jQuery 的代码中使用 r.js。但是它在评估 jQuery.

时失败了

这是我收到的错误消息:

$ r.js init-edx-machine.js /usr/local/lib/node_modules/requirejs/bin/r.js:393 throw err; ^

Error: Evaluating ./lib/jquery.js as module "jquery" failed with error: TypeError: Cannot read property 'createElement' of undefined at Function.req.load (/usr/local/lib/node_modules/requirejs/bin/r.js:2571:23) at Object.load (/usr/local/lib/node_modules/requirejs/bin/r.js:1935:21) at Module.load (/usr/local/lib/node_modules/requirejs/bin/r.js:1084:29) at Module.fetch (/usr/local/lib/node_modules/requirejs/bin/r.js:1074:66) at Module.check (/usr/local/lib/node_modules/requirejs/bin/r.js:1106:30) at Module.enable (/usr/local/lib/node_modules/requirejs/bin/r.js:1426:22) at Object.enable (/usr/local/lib/node_modules/requirejs/bin/r.js:1807:39) at Module. (/usr/local/lib/node_modules/requirejs/bin/r.js:1411:33) at /usr/local/lib/node_modules/requirejs/bin/r.js:384:23 at each (/usr/local/lib/node_modules/requirejs/bin/r.js:309:31)

我在 jquery.js 中搜索了 "createElement"。大多数时候它使用文档。有时它使用通过参数给定的变量。

jQuery版本是2.1.4。我检查了较新的版本,他们也是这样做的。

我真的不知道这里发生了什么。我现在可以做什么?

在没有选项的情况下使用 r.js 将使其想要 执行 您的代码,这就是此处发生的情况。您可能会出错,因为默认情况下 Node.js 中没有全局可用的 document(与浏览器相反),因此代码失败。

要执行优化,您需要传递 -o 参数:r.js -o ...