1
我一直在使用RequireJS,它的工作原理非常完美。我使用了很多“window.document”来操作不同的DOM元素,但是当我尝试使用r.js
进行优化时,我得到的ReferenceError: window is not defined
只发生在r.js
。使用r.js编译时出现“ReferenceError:窗口未定义”
这里是最少的代码示例再现问题:
index.html
:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body >
<div id="commentbox">
</div>
<script data-main="code/main" src="code/require.js"></script>
</body>
</html>
main.js
:
require(["roomManager"], function (roomManager){
return {
}
});
roomManager.js
:
define(["commentManager"], function(commentManager){
var commentHand = new commentManager.commentHand();
commentHand.init();
return{
}
});
commentManager.js
:
define([], function(){
function commManager(getDisplayIdVariable){
var messagebox = window.document.getElementById("commentbox");
this.init = function(){
messagebox.innerHTML = "hi!";
}
}
return{
commentHand : commManager
}
});
这个版本可以正常工作而不r.js
但是当我试图通过运行r.js main.js
编译它。我得到这个:
var messagebox = window.document.getElementById("commentbox);
ReferenceError: window is not defined
at new new commManager