判断当前脚本运行环境:浏览器还是Node?

8 min read

以下是一个简单的方法,可以判断当前脚本运行的环境是浏览器还是 Node.js:

function isBrowser() {
  return typeof window !== 'undefined' && typeof window.document !== 'undefined';
}

function isNode() {
  return typeof process !== 'undefined' && process.release && process.release.name === 'node';
}

isBrowser() 函数会检查 window 和 window.document 对象是否已经定义,如果已经定义,那么就说明当前脚本在浏览器中运行;否则就是在 Node.js 环境中运行。

isNode() 函数会检查 process 对象是否已经定义,并且检查 process.release.name 属性值是否为 'node',如果是这样,那么就说明当前脚本在 Node.js 环境中运行;否则就是在浏览器环境中运行。