You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测.js文件是运行在Node.js还是Windows Script Host(JScript)环境

JS脚本识别WSH/Node.js运行环境的实现方案

该需求完全可实现,核心逻辑是通过两个环境独有的全局变量特征做区分判断即可。

环境特征差异

两种运行环境的全局变量有明确的独有标识:

  • Windows Script Host(JScript)环境下存在独有的全局对象 WScript,不存在Node.js特有的process对象
  • Node.js环境下存在独有的全局对象 process,且process.versions.node属性存在,不存在WScript对象

具体实现代码

// 环境判断分支
if (typeof WScript !== 'undefined') {
  // WSH环境执行逻辑
  WScript.Echo('当前运行在Windows Script Host环境下');
  // 后续WSH专属代码写在这里
} else if (typeof process !== 'undefined' && process.versions?.node) {
  // Node.js环境执行逻辑
  console.log('当前运行在Node.js环境下');
  // 后续Node.js专属代码写在这里
} else {
  // 未知环境兜底逻辑
  console.log('无法识别当前运行环境');
}

注意事项

  • 校验Node.js环境时额外判断process.versions.node可以避免其他环境模拟process对象导致的误判,兼容性更强
  • WSH环境原生不支持console对象,输出内容需要调用WScript.Echo方法

内容的提问来源于stack exchange,提问作者Taureon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:09:03