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

npm项目中无参数nodemon命令未读取package.json的main值问题

为什么直接运行nodemon会启动index.js而非package.json指定的server.js?

以下是几个可能的原因及解决方向:

  • package.json语法错误:虽然你贴的配置没问题,但实际文件如果存在语法错误(比如多余逗号、引号不闭合),nodemon会无法正确读取main字段,只能 fallback 到默认的index.js。可以用npm validate命令验证package.json的有效性。
  • nodemon配置被覆盖:如果项目里有nodemon.json、.nodemonrc这类本地配置文件,或者你有全局的nodemon配置,可能里面指定了默认启动文件为index.js,覆盖了package.json的设置。可以检查这些配置文件,或者临时用nodemon --config ""命令启动,忽略自定义配置测试。
  • 版本bug:你用的2.0.16版本可能存在读取main字段的bug。试试升级nodemon到最新稳定版(npm install -g nodemon@latest),或者降级到2.0.15版本再看。
  • 缓存干扰:nodemon可能缓存了旧的启动配置,没读取最新的package.json。可以删掉项目里的node_modules/.cache文件夹,或者用nodemon --no-cache启动,跳过缓存。

另外,还有个稳妥的临时方案:在package.json里添加start脚本,这样nodemon会优先执行这个脚本:

{
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.18.1"
  }
}

之后直接运行nodemon就会启动server.js了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 07:03:17