Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

koa2源码解读 PDF 下载


分享到:
时间:2020-07-10 14:09来源:http://www.java1234.com 作者:小锋  侵权举报
koa2源码解读 PDF 下载
失效链接处理
koa2源码解读 PDF 下载

本站整理下载:
提取码:xw8a 
 
 
相关截图:
 
主要内容:

koa
概述:Koa 是一个新的 web 框架, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更
健壮的基石。
特点:
轻量,无捆绑
中间件架构
优雅的API设计
增强的错误处理
安装: npm i koa -S
中间件机制、请求、响应处理
const Koa = require('koa') const app = new Koa() app.use((ctx, next) => { ctx.body = [ { name: 'tom' } ]next() })app.use((ctx, next) => { // ctx.body && ctx.body.push( // { // name:'jerry' // } // ) console.log('url' + ctx.url) if (ctx.url === '/html') { ctx.type = 'text/html;charset=utf-8' ctx.body = `<b>我的名字是:${ctx.body[0].name}</b>` } })app.listen(3000)
开课吧web全栈架构师
常见的中间件操作
静态服务
路由
日志
koa 原理:
一个基于nodejs的入门级http服务,类似下面代码:
// 搞个小路由 const router = {} router['/html'] = ctx => { ctx.type = 'text/html;charset=utf-8' ctx.body = `<b>我的名字是:${ctx.body[0].name}</b>` }router[ctx.url](ctx) app.use(require('koa-static')(__dirname + '/')) const router = require('koa-router')() router.get('/string', async (ctx, next) => { ctx.body = 'koa2 string' })router.get('/json', async (ctx, next) => { ctx.body = { title: 'koa2 json' } })app.use(router.routes()) app.use(async (ctx,next) => { const start = new Date().getTime() console.log(`start: ${ctx.url}`); await next(); const end = new Date().getTime() console.log(`请求${ctx.url}, 耗时${parseInt(end-start)}ms`) })
开课吧web全栈架构师
koa的目标是用更简单化、流程化、模块化的方式实现回调部分
context
koa为了能够简化API,引入上下文context概念,将原始请求对象req和响应对象res封装并挂载到context
上,并且在context上设置getter和setter,从而简化操作。
const http = require('http') const server = http.createServer((req, res)=>{ res.writeHead(200) res.end('hi kaikeba') })server.listen(3000,()=>{ console.log('监听端口3000') })// 创建kkb.js const http = require("http"); class KKB { listen(...args) { const server = http.createServer((req, res) => { this.callback(req, res); }); server.listen(...args); }use(callback) { this.callback = callback; } }module.exports = KKB; // 调用,app.js const KKB = require("./kkb"); const app = new KKB(); app.use((req, res) => { res.writeHead(200); res.end("hi kaikeba"); }); app.listen(3000, () => { console.log("监听端口3000"); });

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐