探索Express-Paginate:高效的Node.js分页中间件
// 引入Express和Express-Paginate中间件
const express = require('express');
const paginate = require('express-paginate');
const app = express();
// 使用paginate中间件
app.use(paginate.middleware(50, 500)); // 设置默认每页显示的条目数和最大条目数
// 创建一个GET路由,使用分页功能
app.get('/some-data', (req, res) => {
// 假设有一个数据数组
const data = Array.from({ length: 1000 }, (_, i) => `Item ${i}`);
// 使用req.query中的page和limit,并将结果返回给客户端
const page = req.query.page || 0;
const limit = req.query.limit || 10;
const paginatedData = data.slice(page * limit, page * limit + limit);
res.paginate(data.length, limit, page, {
href(page) {
return `/some-data?page=${page}`;
}
});
// 响应分页后的数据
res.json(paginatedData);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
这段代码首先引入了Express和express-paginate,然后设置了默认的每页显示条目数和最大条目数。之后创建了一个GET路由,使用了分页功能。在这个路由中,我们假设有一个数据数组,并根据请求中的page
和limit
参数来分页数据,并且提供了href
函数来定义分页的URL。最后,我们响应分页信息和分页后的数据。
评论已关闭