nodejs 路由的简单使用

路由

对于前端,主要是导向浏览器应该去哪,对于后端,可以理解为一个子服务,一个路由就是一个小的服务,处理一个接口


配置和使用

/routes/xx.js

const express = require("express");
let router = express.Router();//创建路由
router.响应API("地址",处理函数)//路由处理响应
module.exports = router;//导出路由

主服务

app.use("地址",require("./routes/xx"))

路由嵌套

//字路由里安装路由 嵌套
router.use('地址',子router) //需要next 延续

//截获当前路由下的部分公共业务
router.all('*',当前router路由下的验证工作) //需要next 延续

路由与顺序有关,要把公共业务放在前面


例子

index.js 主服务

const express = require("express");
let app = express();
app.listen(8083, () => {
     
  console.log("监听8083端口~");
});

app.use("/api/a", require("./routes/a"));//注意要用use

a.js 子路由

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

router.all("*", (req, res, next) => {
     //公共业务
  console.log("a.js");
  req.title = "哈哈哈";
  next();
});
router.get("/", (req, res) => {
     //接口/api/a
  console.log("aaaaaaaaaaa");
  res.end();
});

router.use("/b", require("./b"));//接口/api/a/b

router.get("/c", (req, res) => {
     //接口/api/a/c
  console.log("cccccccc");
  res.end();
});
module.exports = router;

b.js 路由嵌套

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

router.get("/", (req, res) => {
     //接口/api/a/b
  console.log("bbbbbbbbbbb");
  res.end();
});d
router.get("/d", (req, res) => {
     //接口/api/a/b/d
  console.log("dddddddddd");
  console.log(req.title);//可以访问之前定义的值
  res.end();
});
router.get("/e", (req, res) => {
     //接口/api/a/b/e
  console.log("eeeeeee");
  res.end();
});
module.exports = router;

以上就是本人对于nodejs路由的简单了解,如有不对,欢迎指出~

你可能感兴趣的:(node.js,nodejs,node.js)