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

TypeScript项目中tsc -w与nodemon单命令执行失效问题求助

解决TypeScript项目中同时监听编译与启动服务器的问题

我来帮你排查下问题根源,再给出可行的解决方案:

为什么你的现有命令无法正常工作?

  • dev1命令问题:你用&&连接两个命令,但tsc -w是持续运行的监听进程,它永远不会主动退出,导致后面的nodemon根本没有执行机会,所以你只能看到tsc的日志。
  • dev2命令问题:这个命令失效大概率是因为你还没安装concurrently依赖(它不是Node.js自带工具),或者引号格式在你的操作系统下存在兼容性问题。另外,即使安装了concurrently,若没有正确配置进程输出,也可能看不到nodemon的日志。

正确的解决方案

方案一:使用concurrently(推荐)

这是最高效的方式,能同时运行两个持续进程并分别输出日志:

  1. 先安装concurrently开发依赖:
    npm install --save-dev concurrently
    
  2. 修改package.json中的scripts为:
    "dev": "concurrently \"tsc -w\" \"nodemon ./.build/src/app.js\""
    
    如果你想先完成一次完整编译,再启动监听和服务器,可以调整为:
    "dev": "tsc && concurrently \"tsc -w\" \"nodemon ./.build/src/app.js\""
    
    运行后你会看到两个进程的日志(通常用不同颜色区分),既能监控tsc的编译状态,也能看到nodemon的服务器启动日志。

方案二:用nodemon直接触发编译(无需额外工具)

如果你不想引入新工具,可以让nodemon监听TypeScript文件变化,每次变更时先执行编译再重启服务器:

"dev": "nodemon --watch src --ext ts --exec \"tsc && node ./.build/src/app.js\""

这个方案不需要额外安装依赖,但每次文件变化都会执行完整编译,效率略低于concurrently,适合小型项目使用。

额外注意事项

  • 确保你的tsconfig.json中outDir配置正确指向.build/src,保证编译后的文件输出到指定目录。
  • 如果你使用Windows系统,scripts中的引号可能需要调整为单引号,或者转义双引号,比如:
    "dev": "concurrently 'tsc -w' 'nodemon ./.build/src/app.js'"
    

内容的提问来源于stack exchange,提问作者DEEPESH KUMAR R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 22:04:09