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

Express Router问题:仅/api路由可用,其他路由无法访问

问题描述
  • 访问/api之外的路由(比如/api/genres)时,弹出错误提示:"An error occurred during a connection to 127.0.0.1."
  • 访问http://127.0.0.1:80/api/genres时页面一直无限加载
  • 哪怕新建了只包含指定文件的干净项目,问题还是没解决
项目代码

index.js

const express = require("express");
const app = express();

require("./startup/cors")(app);
require("./startup/routes")(app);

const PORT = process.env.PORT || 80;
const server = app.listen(PORT, () => {
  console.log(`Listening on port ${PORT}...`);
});

/startup/routes.js

const express = require("express");
const genres = require("../routes/genres");
const home = require("../routes/home");

module.exports = function (app) {
  app.use(express.json());

  app.use("/api", home);
  app.use("/api/genres", genres);
};

/routes/home.js

const express = require("express");
const router = express.Router();

router.get("/", (request, response) => {
  return response.send("API HOME");
});

module.exports = router;

/routes/genres.js

const express = require("express");
const router = express.Router();

router.get("/", (request, response) => {
  return response.status(200).send("success!");
});

module.exports = router;
问题排查与解决

你的路由代码本身没毛病,出现无限加载和连接错误,大概率是CORS中间件出了问题——你引入了./startup/cors但没给这个文件的内容,要么是文件不存在,要么是配置写错了,导致请求被挂起或拦截。

具体解决步骤:

  1. 检查CORS文件:

    • 如果/startup/cors.js根本不存在,直接删掉require("./startup/cors")(app);这行,先测试基础功能;
    • 如果文件存在,确保配置正确,比如标准的CORS配置应该是这样:
      // /startup/cors.js 正确示例
      const cors = require("cors");
      
      module.exports = function(app) {
        app.use(cors()); // 开发环境允许所有跨域请求,生产环境可按需配置
      };
      

    注意:要先安装cors包,在项目根目录执行npm install cors。

  2. 测试基础连通性:先去掉CORS中间件,启动服务后访问http://127.0.0.1:80/api/genres,看能不能正常返回"success!"。如果可以,说明问题肯定出在CORS配置上。

  3. 换端口测试:端口80是系统默认端口,可能被其他程序占用(比如IIS、Apache)。把PORT改成3000试试:

    const PORT = process.env.PORT || 3000;
    

    然后访问http://127.0.0.1:3000/api/genres,看是否正常。

  4. 确认请求方式:你的/api/genres只配置了GET请求,如果你用POST等其他方式访问会返回404,但不会无限加载,这个可能性比较低,但也可以确认下。

按上面的步骤排查,应该能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:12:47