通过express.Router()和Module.exports将路由独立到不同的js中,然后在主js导入require()并通过中间件的方式使用use()
建议创建单独的文件夹如router,存放路由模块文件
模块文件 food.js - 处理json数据并返回;可以增加对food的增删改查等业务路由
const fs = require('fs');
const express = require('express')
//MUST
const router = express.Router()
// 读取JSON数据方法1:同步sync,执行完才继续下一步,会阻塞工作流
const jsonStr = fs.readFileSync('./public/data/food.json', {
encoding: 'utf8'
});
const food = JSON.parse(jsonStr);
//请求格式 url?page=1&pageSize=10
//定义路由
router.get('/food', (req, res) => {
console.log(req.query);
let [...arr] = food
let start = (req.query.page - 1) * req.query.pageSize;
let result = arr.splice(start, req.query.pageSize)
res.setHeader('X-Total-Count', food.length);
res.send(result);
});
//MUST
module.exports = router
主入口文件 index.js
//引入 - 注意路径
const routerFood = require('./router/food')
app.use(routerFood)