基于node的koa框架初识

  • koa介绍

koa是基于node的一个web框架,使用优雅的async和await语法来解决了大量的回调函数过程,采用洋葱圈的中间件模型,极大的便于我们书写服务端程序

  • koa项目的构建

项目环境依赖于node推荐node v8.12及以上,使用koa2提供的脚手架koa-generator进行项目构建,安装脚手架命令npm install -g koa-generator进行全局安装

  • 项目构建命令
  1. koa2 test-project
  2. npm install
  3. npm run dev
  • 项目默认启动在3000端口,默认安装koa-router
  • 项目核心目录和文件 介绍

  1. bin目录里的www为项目入口,通过它引入app.js配置内容
  2. node_moudel为模块加载生成的文件夹,里面全是模块功能的源码。
  3. public目录是公共文件夹,放一些样式文件、页面js文件、图片。
  4. routers目录,里面存放着路由功能的文件,功能为分发请求。
  5. views为视图文件,文件可以是pub,jade,html
  6. app.js文件:是项目的核心配置文件,其他文件都是依赖此文件,里面可以进行中间件的应用,路由文件的引入,服务端解决前端跨域方案也在此处处理,推荐使用插件koa2-cors
  • 推荐增加的项目目录middleware可以用于存放中间件文件,koa中核心的中间件介绍
  1. koa-router:koa为了自己的简洁并没有携带路由功能,koa-router提供了全面的路由功能,支持get,post,put等请求,支持路由命名添加前缀,路由嵌套等功能

  2. koa-bodyparser:用于解析request body,支持x-www-form-urlencoded, application/json等格式的请求体,但不支持form-data的请求体,需要借助 formidable 这个库,也可以直接使用 koa-body 或 koa-better-body

  3. koa-view:koa-views对需要进行视图模板渲染的应用是个不可缺少的中间件,支持ejs, nunjucks等众多模板引擎

  • 不使用脚手架搭建项目,最基础的koa项目文件,直接使用node执行此文件就是一个简单的服务端程序,访问localhost:3000就可以得到请求的结果Hello World

ctx参数解释

ctx.req是node的request对象,里面get请求的query参数对象以及post请求放在消息实体body中的参数列表,还有ctx.req.url等

ctx.res是node的response对象

猜你喜欢

转载自blog.csdn.net/weixin_32682577/article/details/85207441