Node.js 接口分层示例

路由只做转发,业务逻辑集中在服务层,便于单元测试。

Node.jsjavascript
javascript
1import { Router } from "express";2import { listArticles } from "../services/article.js";34const router = Router();56router.get("/articles", async (req, res, next) => {7  try {8    const data = await listArticles({ page: req.query.page });9    res.json({ code: 0, data });10  } catch (err) {11    next(err);12  }13});1415export default router;

关键点说明

  • 异步错误必须显式交给 next,否则中间件无法感知。
  • 路由层不写查询语句,方便后续替换数据来源。

使用建议

复制之后先在本地的示例工程里跑一遍,确认运行结果符合预期,再根据自己的业务调整命名与结构。直接粘贴到大项目里容易忽略上下文差异。