js演示:
const Koa = require("koa");
const Router = require("koa-router");
const views = require("koa-views");
const static = require("koa-static");
const mysql = require("mysql2");
配置和数据库之间的连接
const connection = mysql.createConnection ({
host:'localhost',
user:'root',
password:"123321",
database:"js04",
charset:"utf8"
});
let app = new Koa();
let router = new Router();
app.use(static(__dirname+"/static"));
app.use(views(__dirname+"/views",{
extension:"pug"
}));
router.get("/",ctx=>{
// ctx.body = "hello";
ctx.redirect("/index");
});
router.get("/index",async ctx=>{
let perPage = 5;
let p = parseInt(ctx.query.p) || 1;
获取对应的数据
let newData = JSON.parse(JSON.stringify(data)).splice((p-1)*perPage,perPage);
let [data] = await connection.promise().query("SELECT * FROM news");
let [newData] = await connection.promise().query("SELECT * FROM news LIMIT ?,?",[(p-1)*perPage,perPage]);
let totalPage = Math.ceil(data.length / perPage);
await ctx.render("index",{
newData,
totalPage,
p
});
});
配置详情页
router.get("/detail",async ctx=>{
let id = parseInt(ctx.query.id) || 1;
// let detailData = data.filter(v=>v.id==id)[0];
// console.log(detailData); [{.....}]
let [detailData] = await connection.promise().query("SELECT * FROM news WHERE id=?",[id]);
// console.log(detailData);
detailData = detailData[0]; // [{}]
await ctx.render('detail',{
detailData
});
});
app.use(router.routes());
app.listen(8989);