当前位置: 首页 > 面试题库 >

ReferenceError:未在对象上定义窗口。 Node.js

龙令
2023-03-14
问题内容

我曾在这里看到类似的问题,但没有一个与我的情况相符。在我的网站我有3个JavaScript文件:client.jsserver.jsmyModule.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是浏览器属性,但是在这种情况下如何解决错误?任何帮助表示赞赏


问题答案:

window 是Node上不存在的浏览器。

如果您确实想创建一个 global ,请使用global

global.windowVar = /*...*/; // BUT PLEASE DON'T DO THIS, keep reading

global是Node在全局对象上的标识符,就像window在浏览器上一样。

但是 ,无需在Node程序中创建真正的全局变量。相反,只需创建一个全局模块:

var windowVar = /*...*/;

…并且由于您将其包含在中exports,因此其他模块可以根据需要访问其引用的对象。



 类似资料:
  • 问题内容: 我收到此错误消息, 这是我的标题。 以下是我的JavaScript代码 以下是HTML 我想在输入标签上显示日期选择器。 我正在使用Bootstrap V3.1。 问题答案: 在使用$或jQuery的脚本之前 添加jQuery库 , 以便可以在脚本中标识$。

  • 我在node.js中编译代码时出现了这个错误,我该如何修复它呢? RefernceError:未定义fetch 这就是我正在做的函数,它负责从特定的电影数据库中恢复信息。

  • 我有一个web扩展,可以在窗口对象上应用自定义对象,如: 然而,在我的TypeScript文件中,当我引用< code > window . extension name 时,我得到以下错误: 但实际上它确实存在于对象上,因为它是由扩展添加的。如何让TypeScript停止对此抱怨? 有没有办法为我的整个项目全局指定新对象的类型,以便TypeScript可以使用自动完成?

  • 问题内容: 我正在尝试从Java代码调用Java脚本函数。 这是我的Java代码 这是我的Java脚本文件: 但是当我运行驱动程序类的主要方法时,它给我错误如下: 我所知道的是它需要一些脚本引擎来执行它。 为此,我在类路径中添加了rhino.jar文件,但这不起作用。 我没有得到如何解决这个错误。请帮助。谢谢。 问题答案: 不是JavaScript的一部分,而是Web浏览器提供的对象的一部分。所以

  • 我试图显示一个关于成功promise的弹出式通知,但我一直收到“ReferenceError:doNotification未定义”。如果我在html中单击按钮时触发doNotification,它就会工作。我的电子邮件功能和控制台一样工作。日志将适当的参数打印到控制台。我不确定在我的电子邮件功能中调用doNotification时为什么会出现此错误?

  • 问题内容: 我有以下Angular函数: 但是无论何时调用此函数,我都会进入 控制台。有人可以帮助我了解我在做什么错吗? 问题答案: 可能您尚未向控制器注入服务。有几种方法可以做到这一点。 请阅读有关DI的参考。然后,它变得非常简单: