Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理nodejs中未定义的窗口_Javascript_Node.js - Fatal编程技术网

Javascript 处理nodejs中未定义的窗口

Javascript 处理nodejs中未定义的窗口,javascript,node.js,Javascript,Node.js,我有一个在我的节点后端和前端(.ts文件)之间共享的常量文件 在文件的后端,我做了类似的事情 if (window) { window.redirectPaths = { // some code } } else { // something } 对于NodeJS,由于窗口不存在,我认为它将转到else,但它会抛出以下错误 if (window) { ^ ReferenceError: window is not defined 关于为什么会发生这种情况以及如何解决这

我有一个在我的节点后端和前端(.ts文件)之间共享的常量文件

在文件的后端,我做了类似的事情

if (window) {
   window.redirectPaths = { 
   // some code
   }
} else {
// something 
}

对于NodeJS,由于窗口不存在,我认为它将转到else,但它会抛出以下错误

if (window) {
^
ReferenceError: window is not defined

关于为什么会发生这种情况以及如何解决这一问题,有什么帮助吗?

使用窗口类型!==“未定义”


在访问窗口之前,首先要检查窗口类型

if (typeof window === 'undefined'){

 // some code
} else {
   window.redirectPaths = { 
   // some other code
   }
}


在Node.js环境中,它被称为
global
对象。因此,您可以编写
global
,而不是
window

,您可以使用try-catch

try {
   window.redirectPaths = {
     // some code
   }
} catch (err) {
   // something else
}

你可以这样检查

if (typeof window !== 'undefined' && window){
 window.redirectPaths = { 
   // some other code
   }
} else {
   // some code
}
if (typeof window !== 'undefined' && window){
 window.redirectPaths = { 
   // some other code
   }
} else {
   // some code
}