使用ts-node-dev启动TS+Express+Node项目后无法访问localhost:3000怎么办
问题原因
- 开发服务启动入口配置错误
你package.json中配置的dev命令启动的是./src/app.ts,但app.ts仅导出了express实例,没有绑定端口启动监听的逻辑,这部分逻辑全部写在server.ts中。所以执行npm run dev后服务没有真正启动,自然无法访问任何端口,也不会出现端口监听成功的日志。
- 开发服务启动入口配置错误
- 监听端口与访问地址不匹配
即便正确启动了server.ts,你代码中配置的监听端口是3001,而你访问的是3000端口,也会出现无法打开的问题。
- 监听端口与访问地址不匹配
修复步骤
- 修改
package.json中的dev脚本,将启动入口替换为server.ts:
"scripts": { // 其他脚本保持不变,仅修改dev字段 "dev": "ts-node-dev --respawn --transpile-only ./src/server.ts", }
- 调整端口配置(二选一即可):
- 直接访问
http://localhost:3001 - 或者修改
server.ts中的端口配置为3000:
const PORT=3000; - 直接访问
- 重新执行
npm run dev,控制台会打印Express server listening on port ${PORT}的日志,此时访问对应端口即可正常得到返回结果。
内容的提问来源于stack exchange,提问作者taoxiaoqi
相关产品推荐
相关产品推荐

