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

Node.js+TypeScript项目中console.log日志无法显示的解决求助

解决TS项目中server.ts日志不显示及--inspect参数报错问题

排查基础问题:确认server.ts被正确执行

首先检查你的src/index.ts是否正确导入并执行了server.ts,比如是否有类似这样的代码:

// src/index.ts(ES模块规范)
import './server.ts';

// 或者CommonJS规范
require('./server.ts');

如果没有导入,server.ts的代码根本不会运行,自然不会输出日志。这是最容易忽略的核心问题。

修复nodemon命令的参数传递问题

你添加--inspect报错是因为参数传给了nodemon,但nodemon本身不识别这个参数,需要把调试参数传给ts-node(底层调用node)。修改dev脚本格式:

"dev": "nodemon --watch \"./src/**/*.ts\" --exec \"ts-node --inspect\" ./src/index.ts"

注意:--inspect要放在ts-node后面,而非nodemon后面,确保参数被传递给node进程,避免报错。

升级依赖版本(解决兼容性问题)

你当前使用的ts-node@8.10.2和typescript@3.7.2版本过于老旧,可能存在日志输出或调试的兼容性问题。建议升级到稳定新版本:

  1. 执行升级命令:
npm install ts-node@latest typescript@latest --save-dev
  1. 更新后重新运行npm run dev,查看日志是否正常输出。

替代方案:使用ts-node-dev

如果上述方法仍不生效,可以用ts-node-dev替代nodemon+ts-node,它专为TS开发设计,内置热重载和日志输出支持,配置更简洁:

  1. 安装依赖:
npm install ts-node-dev --save-dev
  1. 修改package.json的scripts:
"scripts": {
  "start": "ts-node ./src/index.ts",
  "dev": "ts-node-dev --respawn --transpile-only ./src/index.ts"
}

--respawn会在文件修改时自动重启进程,--transpile-only加快编译速度。若需要调试,直接添加--inspect参数即可:

"dev": "ts-node-dev --respawn --transpile-only --inspect ./src/index.ts"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 02:15:14