1-1 安装依赖
yarn init -yyarn add koa koa-router koa-body koa-static koa-mongodbyarn add koa-art-template art-template
1-2 封装
(1)
//config-index.jsconst router=require("../routers");const koaBody=require("koa-body");const static=require("koa-static");const render=require("koa-art-template")const path=require("path");// const fs=require("fs")function initProject(app){ app.use(koaBody()); app.use(router.routes()); var res=path.join(process.cwd(),'static') // console.log(res); app.use(static(path.join(process.cwd(),"static"))); render(app, { root: path.join(process.cwd(), 'pages'), extname: '.html', debug: process.env.NODE_ENV !== 'production' });}module.exports=initProject;
(2)
const router=require("koa-router")();const main=require("../models")router.get("/login", async ctx=>{ await ctx.render("login")})router.get("/register", async ctx=>{ await ctx.render("register")})router.get("/home", async ctx=>{ ctx.body="home"})
1-3 注册
router.post("/doRegister",async ctx=>{ console.log(ctx.request.body); var {username,pwd}=ctx.request.body; var userCollection=await main("user"); /* 对user查询,没有username才添加 */ var res=await userCollection.find({username}).toArray(); /* 1.用户名存在,停留在注册页面 */ if(res.length){ ctx.body="<script>alert('用户名已存在');location.href='/register'</script>" }else{ /* 2. 用户名不存在,注册-进入首页 */ var res=await userCollection.insertOne({username,pwd}); ctx.body="<script>alert('注册成功');location.href='/home'</script>" } console.log(res); })
1-4 登录
router.post("/doLogin",async ctx=>{ var {username,pwd}=ctx.request.body; var userCollection=await main("user") var res=await userCollection.find({username,pwd}).toArray() if(res.length){ await ctx.redirect("/home") }else{ ctx.body="<script>alert('用户名或密码错误');location.href='/login'</script>" }})