摘要:对已经跃跃欲试很久,恰遇最近正式发布,今天尝试着倒腾一番。所以自己对的学习算是从开始,由于文档资源还不完全,准备踩着前辈们的肩膀,慢慢入坑。常识入门级程序与大部分程序员同胞一样样的习惯,写一发慰藉自己孤寂的心灵。
对koa已经跃跃欲试很久,恰遇koa2最近正式发布,今天尝试着倒腾一番。所以自己对koa的学习算是从2.x开始,由于文档资源还不完全,准备踩着前辈们的肩膀,慢慢入坑。
环境的搭建node运行环境,官方文档标注node v4.0.0及以上版本。
babel,在使用async/await编程时babel是必须的,但是本人未使用async/await,而是使用传统的promise,所以未尝试安装babel。
常识入门级程序与大部分程序员同胞一样样的习惯,写一发hello world慰藉自己孤寂的心灵。
const Koa = require("koa"); let app = new Koa(); app.use(ctx => { ctx.body = "hello world"; }); app.listen(3000);
打开浏览器,访问localhost:3000,亲切的hello world映入眼帘。
理解关键点(应用上下文)context
引用官方解释:
异步编程实现Koa Context 将 node 的 request 和 response 对象封装在一个多带带的对象里面,其为编> 写 web 应用和 API 提供了很多有用的方法。
许多 context 的访问器和方法为了便于访问和调用,简单的委托给他们的 ctx.request 和 ctx.response 所对应的等价方法, 比如说 ctx.type 和 ctx.length 代理了 response 对象中对应的方法,ctx.path 和 ctx.method 代理了 request 对象中对应的方法。
koa1提供了generator方式,koa2引入async/await实现,而我独爱promise处理方式。
app.use((ctx, next) => { const start = new Date(); return next().then(() => { const ms = new Date() - start; ctx.body += `1:${ctx.method} ${ctx.url} - ${ms}ms `; }); }); app.use((ctx, next) => { const start = new Date(); return next().then(() => { const ms = new Date() - start; ctx.body += `2:${ctx.method} ${ctx.url} - ${ms}ms `; }); }); app.use((ctx, next) => { ctx.body = "first exec "; });
访问localhost:3000/index,最终结果:
first exec 2:GET /index - 0ms 1:GET /index - 0ms
勉强有点手感,洗簌,睡觉,同志们晚安。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/79413.html
摘要:返回后,代表操作已完成,记录结束时间并输出。从零组装因为对的学习和使用,知道了自己对于后台框架的真实需求。所以这回决定不用之内的工具,而是自己从零开始,组装一个适合自己的框架。就是去和上,寻找一个一个的包并组装在一起了而已。 起因 作为一个前端,Node.js算是必备知识之一。同时因为自己需要做一些后台性的工作,或者完成一个小型应用。所以学习了Node的Express框架,用于辅助和加...
摘要:需要说明的是,每次执行完函数之后,都会返回一个对象这个返回值有两个属性和,对象通过这个返回值来告诉外界函数的执行情况。函数的返回值变成这样可以发现的值变为了,因为函数已经执行完了。在规范中,新增了两个协议可迭代协议和迭代器协议。 Koa是最近比较火的一款基于Node的web开发框架。说他是一个框架,其实他更像是一个函数库,通过某种思想(或者说某种约定),将众多的中间件联系在一起,从而提...
摘要:玩转同时全面掌握潮流技术采用新一代的开发框架更小更富有表现力更健壮。融合多种常见的需求场景网络请求解析模板引擎静态资源日志记录错误请求处理。结合语句中转中间件控制权,解决回调地狱问题。注意分支中的目录为当节课程后的完整代码。 ?? 与众不同的学习方式,为你打开新的编程视角 独特的『同步学习』方式 文案讲解+视频演示,文字可激发深层的思考、视频可还原实战操作过程。 云集一线大厂...
阅读 3078·2023-04-25 20:43
阅读 1721·2021-09-30 09:54
阅读 1592·2021-09-24 09:47
阅读 2875·2021-09-06 15:02
阅读 3512·2021-02-22 17:09
阅读 1235·2019-08-30 15:53
阅读 1443·2019-08-29 17:04
阅读 1958·2019-08-28 18:22