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

Express.js服务器.get()接口在localhost无响应,请求排查帮助

关于Express.js服务器无响应的排查求助

问题描述

正在学习Web开发,使用Express.js和Node.js搭建服务器。当在浏览器访问http://localhost:3000/或http://localhost:3001/(已尝试更换端口)时,服务器完全无响应,终端也未打印预期的Test1日志。

服务器代码

import express from "express";
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  console.log("Test1");
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

环境与现状

  • Node.js版本:v22.1.0(运行在WSL/VSCode环境)
  • 服务器启动后控制台无任何错误信息,仅显示Example app listening on port 3000启动提示
  • 项目资源管理器包含index.js、package.json等核心文件
  • 此前类似代码可正常运行,已耗时数小时排查未果

排查建议

  1. 验证WSL本地请求连通性
    在WSL终端执行curl http://localhost:3000,如果能返回Hello World!,说明服务器逻辑正常,问题出在WSL与Windows的端口转发环节。

  2. 确认package.json模块配置
    检查package.json中是否添加了"type": "module"字段——因为代码使用了ES模块的import语法,若缺少该配置,Node.js会默认按CommonJS处理,可能引发隐性逻辑错误(无终端报错但请求无法触发)。

  3. 修改服务器绑定地址
    将app.listen的绑定地址改为0.0.0.0,允许外部访问:

app.listen(port, '0.0.0.0', () => {
  console.log(`Example app listening on port ${port}`);
});

然后通过WSL的IP地址访问(执行hostname -I获取IP),比如http://192.168.x.x:3000,验证是否是本地绑定限制导致的访问问题。

  1. 排查防火墙与代理干扰
    暂时关闭Windows防火墙测试请求是否能连通;若使用VPN、浏览器代理等软件,建议关闭后重试,避免请求路由被拦截。

  2. 重置项目依赖
    执行以下命令清理并重新安装依赖,排除依赖包损坏的可能:

rm -rf node_modules package-lock.json
npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:45:02