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

如何实现nodemon重启时清除控制台且显示应用崩溃错误信息

实现nodemon代码变更重启清控制台、崩溃保留错误信息的方案

方法一:利用nodemon配置文件的事件钩子

创建或修改项目根目录下的nodemon.json配置文件,添加如下内容:

{
  "events": {
    "restart": "clear || cls"
  }
}

clear适用于Linux/macOS系统,cls适用于Windows系统,用||连接可实现跨平台兼容——当前系统不支持第一个命令时自动执行第二个。

此配置会在nodemon检测到代码变更触发重启时自动清屏;而应用崩溃时,nodemon不会触发restart事件,错误信息会保留在控制台中。

方法二:自定义启动脚本(package.json)

若不想单独维护配置文件,可直接在package.json的scripts字段中指定重启时的清屏命令:

{
  "scripts": {
    "dev": "nodemon --on-restart 'clear || cls' app.js"
  }
}

将app.js替换为你的项目入口文件即可。

方法三:精准区分重启原因(自定义钩子脚本)

如果需要严格区分「代码变更重启」和「崩溃重启」的行为(避免崩溃后重启时清屏),可以编写自定义钩子脚本:

  1. 在项目根目录创建nodemon-hook.js文件:
const { execSync } = require('child_process');

// 通过nodemon传递的环境变量判断重启原因
if (process.env.NODEMON_RESTART_REASON === 'change') {
  // 仅在代码文件变更触发重启时清屏
  execSync(process.platform === 'win32' ? 'cls' : 'clear');
}
  1. 修改nodemon.json配置,引入该钩子:
{
  "events": {
    "restart": "node nodemon-hook.js"
  }
}

nodemon会将重启原因通过NODEMON_RESTART_REASON环境变量传递给钩子脚本:当原因是change时执行清屏,原因是crash(应用崩溃)时则跳过清屏,完整保留错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:19:56