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

nodemon正常运行但无输出,直接运行node文件有输出如何解决?

问题原因
  • 从给出的日志可以看到nodemon一直在频繁触发重启,核心原因是nodemon默认监听当前目录下所有匹配后缀的文件,一旦有文件持续变更(比如自动生成的日志文件、临时缓存文件、本地数据库文件等)就会触发重启,node进程每次启动后还没来得及执行业务逻辑输出日志,就被新的重启操作终止,因此看不到业务内容输出。
  • 小概率原因是控制台输出缓冲配置问题,nodemon运行时node的输出被缓冲没有即时打印到控制台。
解决方法

1. 配置忽略规则,避免无关文件触发重启

在项目根目录新建nodemon.json配置文件,添加需要忽略的频繁变更的文件/目录,示例配置如下:

{
  "ignore": [
    "node_modules/",
    "*.log",
    "tmp/",
    "cache/",
    "*.db"
  ]
}

也可以直接在启动命令中添加忽略参数:
nodemon --ignore '*.log' --ignore node_modules/ .\index.js

2. 明确指定监听范围

如果不需要监听整个项目目录,可以手动指定要监听的业务代码路径,大幅降低误触发重启的概率:
nodemon --watch src/ .\index.js
上述命令只会监听src目录下的文件变更,其他目录的改动不会触发重启。

3. 关闭输出缓冲

如果配置完重启规则后依然看不到业务输出,可以添加node无缓冲运行参数,强制即时打印输出:
在nodemon.json中添加exec配置:

{
  "exec": "node --unbuffered .\\index.js",
  "ignore": [
    "node_modules/",
    "*.log"
  ]
}

或者直接使用启动命令:
nodemon --exec "node --unbuffered" .\index.js

配置完成后重启nodemon,即可正常看到业务输出,且不会频繁触发重启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:54:05