呐,等你关注都等出蜘蛛网了~
共计 8400字 阅读需要 22,min
简介
中文官网 https://ejs.bootcss.com/
npm https://www.npmjs.com/package/ejs
github https://github.com/mde/ejs
官网 http://ejs.co/
安装
下面接着创建package.json
继续安装koa
网址 https://koa.bootcss.com/
github https://github.com/koajs/koa
官网 https://koajs.com/
npm https://www.npmjs.com/package/koa
koa2基础
架设http服务器
输入网址 http://127.0.0.1:3000/ 即可完成假设
输出hello world
上方是回调,将会使用main,main进行回调一个匿名函数,完成body的设置。
代表着一个http的请求
不同的请求返回不同的类型
ps 使用https://www.getpostman.com/ 编辑http请求,发送http请求
即可完成。
网页模板
使用fs模块,使用流,将客户端和文件之间建立流的关系,然后将其对接
路由
使用koa-route
继续下载
编写代码
访问
http://127.0.0.1:3000/about
http://127.0.0.1:3000/
完成路由
静态资源
koa-static
npm https://www.npmjs.com/package/koa-static
接着下载安装
编写入口文件。
访问 http://127.0.0.1:3000/1.png 将会返回public下的1.png文件
访问 http://127.0.0.1:3000/about 将会被路由进行捕获
重定向
上方完成了一次页面的跳转
中间件
上方的加载所有的都会使用一个中间件
中间件栈
中间件栈实现的是一个先进后出
异步
是滴,node.js最重要的是异步,以及回调
es7的异步函数
一段代码直接说明
输出结果为
运行过程为先运行函数asyncCall,接着输出calling和结果3,继续到await语句的时候,为一个回调的语句,此时主线程,因为遇到await语句,将会直接进行输出执行结果1的内容,等待着resolveAfter2Seconds后执行完毕,进行回调。(Promise 对象为一个暂时保存回调内容的一个对象)Promise对象将会暂时保存运行的结果,运行结果为结果4和resolved,等待执行完毕以后,将会把暂时保存的内容,赋值给result变量,由于此时已经执行完毕,将会继续运行下方的内容,输出result中的内容,result中的内容为异步的执行的内容,接着,输出结果2,完成运行。
koa2中运行异步
结果
所有的都要使用异步操作,
由于全部都是异步,将会先调用最后的一个,
接着 调用中间件的内容。
由于中间件也为异步,将会继续异步main,
由于main也为异步,将会调用异步函数file中的内容。
接着,按照上面的顺序倒着回来,最后完成中间件
ps 由于中间件的异步,这样就成功的模拟的中间件的正常的模型
正常的中间件
运行结果
先进去,等到全部执行完成以后,在出来,中间件包裹着全部
不加异步的中间件
运行结果
可以发现,变现的'溢出'
中间件的合成
npm https://www.npmjs.com/package/koa-compose
下载安装
比较简单,看文档就行。
错误处理
同try类似使用throw抛出错误。
cookies
ctx.cookies 用来读取cookies客户端发送的cookies内容
完成操作
表单操作
即post和get操作
继续使用模块 koa-body
github https://github.com/dlau/koa-body
npm https://www.npmjs.com/package/koa-body
安装
支持json格式数据的提交哦
客户端发送
格式为
返回的都为字符串
文件上传暂时搞不定。
ejs
需要先安装koa模板中间件
官网 https://www.npmjs.com/package/koa-views
index.js文件
view下的index.ejs文件
访问http://127.0.0.1:3000/
内容完成动态的更新
ps 上传文件还是不太会,无奈
赶快来分享关注吖
领取专属 10元无门槛券
私享最新 技术干货