why-is-node-running

中文文档
3.2.3发布于 2026/10/09MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 5.2亿

节点在跑 你不知道为什么吗? 为什么... 是Node -running在这里帮助你.

中文使用文档
文档目录7 节
  1. 安装
  2. 作为当地依赖
  3. 作为全球一揽子计划
  4. 使用(作为依赖)
  5. 使用率(作为CLI)
  6. 用法(与Node.js相通) --import 选项)
  7. 许可证

为什么 - 是 - node - 运行

节点Js在跑,但你不知道为什么? why-is-node-running 是来帮你的.

安装

如果你想使用的话 why-is-node-running 在代码中,您可以安装它作为您的工程的本地依赖。 如果您想将其作为CLI, 您可以在全球安装, 或者使用 npx 运行它而不安装它.

作为当地依赖

20.11及以上节点(ECMAScript模块):

npm install --save-dev why-is-node-running

节点.js 8或以上(CommonJS):

npm install --save-dev [email protected]

作为全球一揽子计划

npm install --global why-is-node-running
why-is-node-running /path/to/some/file.js

或者,如果您不想在全球安装软件包,您可以用 npx数字 :

npx why-is-node-running /path/to/some/file.js

使用(作为依赖)

import whyIsNodeRunning from 'why-is-node-running' // should be your first import
import { createServer } from 'node:net'

function startServer () {
  const server = createServer()
  setInterval(() => {}, 1000)
  server.listen(0)
}

startServer()
startServer()

// logs out active handles that are keeping node running
setImmediate(() => whyIsNodeRunning())

文件另存为 example.js,然后执行 :

node ./example.js

输出如下:

There are 4 handle(s) keeping the process running

# Timeout
example.js:6  - setInterval(() => {}, 1000)
example.js:10 - startServer()

# TCPSERVERWRAP
example.js:7  - server.listen(0)
example.js:10 - startServer()

# Timeout
example.js:6  - setInterval(() => {}, 1000)
example.js:11 - startServer()

# TCPSERVERWRAP
example.js:7  - server.listen(0)
example.js:11 - startServer()

使用率(作为CLI)

你们可以跑 why-is-node-running 如果你不想把它包含在代码中的话,作为一个独立。 发送 SIGUSR1编号 :SIGINFO 向进程发出信号将生成日志。 (Ctrl + T (关于macOS和BSD系统)

why-is-node-running /path/to/some/file.js
probing module /path/to/some/file.js
kill -SIGUSR1 31115 for logging

要触发日志 :

kill -SIGUSR1 31115

用法(与Node.js相通) --import 选项)

您也可以使用节点 --import 预装选项 why-is-node-running数字 :

node --import why-is-node-running/include /path/to/some/file.js

步骤与上述CLI部分相同

许可证

麻省理工学院

版本与发布记录

why-is-node-running 共发布 25 个版本,首次发布于 2016/02/09;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.2.3latest2026/10/0929 天前
3.2.22025/01/081.8 年前
3.2.12024/10/302 年前
3.2.02024/07/132 年前
3.1.02024/07/102 年前
3.0.02024/07/082 年前

关于 why-is-node-running 的常见问题

why-is-node-running 是什么?

节点在跑 你不知道为什么吗? 为什么... 是Node -running在这里帮助你.

如何安装 why-is-node-running?

在项目目录运行 npm install why-is-node-running,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 why-is-node-running,可以用 npx why-is-node-running 直接运行。

why-is-node-running 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

why-is-node-running 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

why-is-node-running 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.11。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

why-is-node-running 可以商用吗?

why-is-node-running 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

why-is-node-running 的下载量有多少?

根据 npm 官方下载统计,why-is-node-running 在 2026/10/07 – 2026/11/05 这 30 天内被下载 517,340,758 次,日均约 17,244,692 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

why-is-node-running 还在维护吗?

最新版本 3.2.3 发布于 2026/10/09(29 天前);至今共发布 25 个版本,其中过去 12 个月发布了 1 个;首次发布于 2016/02/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。