window 是Node上不存在的浏览器。
如果您确实想创建一个 ,请使用global:
global.windowVar = /*...*/; // BUT PLEASE DON’T DO THIS, keep reading
global是Node在全局对象上的标识符,就像window在浏览器上一样。
,无需在Node程序中创建真正的全局变量。相反,只需创建一个全局模块:
var windowVar = /*...*/;
…并且由于您将其包含在中exports,因此其他模块可以根据需要访问其引用的对象。
解决方法我曾在这里看到类似的问题,但没有一个与我的情况相符。在我的网站我有3个JavaScript文件:client.js,server.js,myModule.js。在其中,client.js我创建了一个名为的窗口变量windowVar,并向其中添加了一些属性。在中myModule.js,我添加了一些其他属性并在其中使用它们,然后导出文件并在中使用它server.js。
client.js:
window.windowVar= { func1: function(args) { //some sode here },counter:0};
myModule.js :
module.exports={wVar:windowVar,addMessage,getMessages,deleteMessage};windowVar.serverCounter = 0;windowVar.arr1=[];
server.js:
var m= require(’./myModule’);
在node.js中运行服务器时,出现以下错误:
ReferenceError:未在对象上定义窗口。 <anonymous>
据我了解,window是浏览器属性,但是在这种情况下如何解决错误?任何帮助表示赞赏