以下是一个简单的方法,可以判断当前脚本运行的环境是浏览器还是 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 环境中运行;否则就是在浏览器环境中运行。