我想确定我的js代码是在节点服务器上运行还是在客户端上运行,并将其存储到变量
isServer = true
中。我该怎么做?是否有一种简单的方法可以检查仅在服务器上可用的属性的存在,如果可能的话,哪个选项最好?感谢您的帮助!isServer = true
中。我该怎么做?是否有一种简单的方法可以检查仅在服务器上可用的属性的存在,如果可能的话,哪个选项最好?感谢您的帮助!你可以使用这个:
function is_server() {
return ! (typeof window != 'undefined' && window.document);
}
由于全局window.document
对象只存在于浏览器上下文中。
typeof
来防止不良访问,请查看我的更新答案获取修复版本。 - Nelsonif (this != window) //server
是否可以解决注入问题?因为在 Node 上 this
应该是 global
,而在浏览器上应该是 window
,对吗? - Pascal Bayerprocess
是什么情况?它只在Node.js中可用,在浏览器中是undefined
。 - Ravi