koa:一个几分钟就能学会的web框架
时间:2023-07-24 12:30:01 | 来源:网站运营
时间:2023-07-24 12:30:01 来源:网站运营
koa:一个几分钟就能学会的web框架:更新说一下:
其实koa并不是那么容易能理解,但是其实也不难。我说「几分钟能学会的框架」实则是说,几分钟就能开发一个简单的web app应用,这没错。然后评论区就会有人跳出来说
- 「嗯,怎么可能几分钟学会」
- 「几分钟学会,会有价值?」
总之呢,就是出来唱个反调。你说吧,讨论问题还是可以的,我欢迎。但是直接来一句让人摸不着头脑的话,实在是觉得蛋疼。难道要说成「koa一个超级难懂晦涩的框架?」这么说谁看谁学?还有一种不好的风气就是「强行喷别人的框架」,最近大漠和evan吵得那么厉害也就是因为这个原因。但是作为新人小白懂什么呢?上来就说:python垃圾语言,js弱类型大项目不好做,我靠?
这是我第一次说,也是我最后一次说这些废话,评论区是我的,理性回答,不然直接变成尸体。
----------------------------------------
刚刚开始学刚刚开始学编程的时候,我竟然使用了c++去进行web开发。现在回想起来,都有点可怕!从头到尾呢,都得自己封装,从处理http协议开始,然后到后来的模版渲染,乱七八糟的,搞出个非常垃圾的框架,性能不怎样,还难用。
一个偶然的机会,接触了nodejs,其方便快捷的开发,以及其浑然天成的异步io能力,让我着实着迷不已。得益于之前用c++写过一个简陋的web框架,学习nodejs的速度也是极为迅速,今天我们就来看一看,一个现有的,轻量级的nodejs框架:koa。
先骑单车
先骑单车的意思就是我们先会用,然后在用的过程中学习一个框架,一个系统。对于大部分不是抖m/s的我们来说,折腾几天都没搞出一个东西来,着实打击我们的学习自信,所以,我们先从最简单的入手,一步步的往下走。
准备
无论是什么系统,先去nodejs官网下载一个nodejs安装包:Node.js
安装完成后(或者早就安装的人)直接命令行,打
$npm -v5.3.0
那就证明你安装nodejs和npm成功了。
任意地方创建一个文件夹叫做:learnKoa,打开终端,打入以下命令
cd learnKoanpm init
然后一直敲回车,敲完回车以后,你的目录会变成这样:
.learnKoa└── package.json
多出一个package.json,先不用管他那么多,继续输入命令:
$ npm install --save koa
安装完成后,我们就可以正式进入Koa之旅了!
几行代码的开始
在我们刚刚的learnKoa文件夹下面创建一个index.js,抄袭以下内容
const Koa = require('koa')//引入koaconst App = new Koa()//创建koa实例//构造第一个「函数」const first = (Context) => { Context.response.body = '<h1>我很牛逼!肌肉很大</h1>'//相应内容};App.use(first)//应用第一个函数App.listen(8080)//监听本机8080端口
- Context:由App.use传递进来的一个对象,这个对象中包含着response和request两个对象。这两个对象分别表示用户浏览器发过来的请求内容(request),以及服务器需要回复的内容(response)。当first(Context)执行完毕以后,Koa就会将我们刚刚在first函数中操作的response返回给用户。这个玩意也叫做对话上下文,上文表示用户送来的东西,下文表示要返回给用户的东西。
- Context.response.body:只要给Context.response.body赋值,我们就能返回任何东西给用户!如果你想,你可以返回「种子番号之类的...」
(本站这个代码真是花哨,不过好评)保存退出后,运行命令:
node ./index.js
打开浏览器地址 http://127.0.0.1:8080
你就可以看到
我们的第一个web程序诞生了!
页面路由
页面路由其实说的并
不是路由器的路由,而是说的是「不同网址,返回不同的东西」的意思。
http://127.0.0.1:8080 <----首页http://127.0.0.1:8080/maopian <-----放的是老师们的教科书http://127.0.0.1:8080/maopian/songdaofeng <-----具体哪个老师的教科书
要实现这样的功能,我们就需要对刚刚的index.js进行改造,使得我们的web程序拥有处理这几个不同网址(url)的能力。
我们说过,我们想要知道用户给我们发来什么消息,我们去找Context.
request。我们想要发给用户什么消息,我们就去找
Context.response。接下来我们实战一发:
const first = (Context) => { if (Context.request.path === '/'){ Context.response.body = '<h1>我很牛逼!肌肉很大</h1>' } if (Context.request.path === '/maopian'){ Context.response.body = '<p>小泽老师</p><p>松岛f老师</p><p>zxc老师</p>' }};
- Context.request.path:这里代表的是用户访问的地址/代表http://127.0.0.1:8080,/maopian 代表 http://127.0.0.1:8080/maopian 很好理解。
node ./index.js
分别访问
http://127.0.0.1:8080和
http://127.0.0.1:8080/maopian总结一下
安装好nodejs以后,通过几行命令,几行代码,我们就能够写出一个简单的web应用了。
我的公众号后台就是用的koa作为框架,写的一个有趣的小功能。之后我们会无限对其进行拓展,以至于让他能够成为极其牛逼的应用。