我正在尝试在使用jQuery的代码上使用r.js。但是它在评估jQuery时失败了。
这是我收到的错误消息:
$ r.js init-edx-machine.js/usr/local/lib/node_modules/requirejs/bin/r.js:393 投掷错误; ^
错误:正在评估 ./lib/jquery.js因为模块"jquery"失败,出现错误:类型错误:无法读取未定义的属性"createElement" 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) 在模块中。(/usr/local/lib/node_modules/requirejs/bin/r.js:1411:33) at/usr/local/lib/node_modules/requirejs/bin/r.js:384:23 在每个 (/usr/local/lib/node_modules/requirejs/bin/r.js:309:31)
我在jquery.js中搜索了"createElement"。大多数时候它使用文档。有时它使用通过参数给出的变量。
jQuery 版本是 2.1.4。我检查了较新的版本,它们也是如此。
我真的不知道这里发生了什么。我现在能做什么?
使用不带选项的r.js
会使它想要执行您的代码,这就是这里发生的情况。您可能会出错,因为默认情况下在 Node 中没有全局可用的document
.js(与浏览器相反),因此代码失败。
要执行优化,您需要传递-o
参数:r.js -o ...