当前位置:  开发笔记 > 编程语言 > 正文

如何检测脚本是在浏览器中还是在Node.js中运行?

如何解决《如何检测脚本是在浏览器中还是在Node.js中运行?》经验,为你挑选了1个好方法。

我有jasmine测试规范文件,我想使用node.js和浏览器运行它.如何检测脚本是否在节点中运行?



1> 小智..:

一些想法:

您可以检查窗口全局对象,如果它可用,那么您在浏览器中

if (typeof window === 'undefined')
// this is node

或者您可以检查进程对象,如果它可用,那么您在节点中

if(typeof process === 'object')
// this is also node


我发现许多提议的解决方案如果代码已经被webpack,就会停止工作,因为webpack定义了所有类型的`process`,`module`,`require`等符号.`window`通常仍然有效,除非你当然还想检测从webworker运行,那里没有`window`.
推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有