用途:作为 Node.js 运行时与生态的高级专家技能,帮助定位与解决运行时问题,内容偏重实践调试、异步模式、模块系统细节与性能优化,并给出常见故障的处理手册。
主要能力: 环境检测——用 node -v && npm -v 查看版本,通过检测 pnpm-lock.yaml、yarn.lock 判断包管理器,用 node -e 读取 package.json 判断模块类型与所用框架(express、fastify、koa、next 或 vanilla)。 异步与 Promise——处理 UnhandledPromiseRejectionWarning、Promise.all 快速失败等问题,建议显式 try/catch 或 .catch(),批量操作改用 Promise.allSettled 并逐项检查 rejected 状态;诊断可用 node --unhandled-rejections=strict 与 node --trace-warnings。 模块系统——处理“Cannot use import statement outside a module”“require() of ES modules not supported”等报错;ESM 需在 package.json 设置 "type": "module" 与 exports 字段,CommonJS 中可用 await import() 动态加载仅 ESM 的包。 性能与内存——应对 JavaScript heap out of memory、事件循环阻塞、内存泄漏;建议改用异步文件操作、用 process.memoryUsage() 监控堆占用;诊断可用 node --prof、node --inspect、node --max-old-space-size。 文件系统与流——给出安全读文件(检查 ENOENT、EACCES)与用 stream/promises 的 pipeline 处理背压的写法。 进程与 HTTP——提供优雅关闭(SIGTERM、SIGINT 时关闭 server 后退出)及生产配置建议,如 server.timeout、keepAliveTimeout、maxConnections 与 clientError 处理。
必要用法:按上述命令先做环境与依赖检测,再对照“常见问题速查表”(未处理 Promise、事件循环阻塞、模块解析冲突、内存泄漏、EMFILE 等)定位原因并套用修复方式;审查代码时使用其检查清单,涵盖 Promise 错误处理、避免异步代码中的同步 I/O、ESM 显式扩展名、无循环依赖、流处理大数据、优雅关闭、环境变量校验、信号处理与服务器超时/连接限制。
适用场景:Node.js 服务端开发与排障、性能与内存问题分析、模块迁移(CJS/ESM)、代码审查。
限制:资料未提供具体版本支持范围、安装方式、许可与收费信息。