手摸手学会node框架之一——koa 傻瓜式小白教程

一、Koa简介
基于 Node.js 平台的下一代 web 开发框架 。由幕后的原班人马打造,致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石 。
详细请参考Koa官网进行学习 。
二、Koa基础入门 1.项目初始化
执行 npm init -y, 生成.json
npm init -y
2.安装Koa
执行命令
npm i koa
ps:项目名称不能为koa,不然就噶了
3.入门体验 1)回顾如何创建服务程序
//导入expressconst express = require('express')//创建web服务器const app = express()//编写中间件app.use(function(req, res, next) {console.log('hello express');next()})//启动服务器并监听端口app.listen(8080, () => [console.log('express server running at http://localhost:8080')])
2)使用koa编写服务程序
// 一. 导入koaconst Koa = require('koa')// 二. 实例化对象 (Koa首字母需要大写,此处实际上是类)const app = new Koa()// 三. 编写中间件app.use((ctx) => {//ctx:content http 请求上下文ctx.body = 'hello Koa'})// 四. 启动服务app.listen(3000, () => {console.log('Koa server is running on http://localhost:3000')})
通过node +文件路径执行,可以看到终端输出了
【手摸手学会node框架之一——koa 傻瓜式小白教程】同时,我们使用对:3000网址发出请求,可以看到服务端发出的响应“hello koa”
插件的安装
安装插件,便于实时监听后缀为js、mis、json文件的修改保存,避免多次重启服务(使用 +文件路径启动)
npm i nodemon -D //此为开发环境安装,全局安装不需要-D
ps:此处安装成功后,可能会出现命令执行失败的情况,可以使用如下命令安装 。
npm i nodemon -g --verbose
执行src/test命令后,修改并保存文件内容,可以看到监听到文件被修改自行重启 。
三、走进中间件 1.基本概念
有时候从请求到响应的业务比较复杂, 将这些复杂的业务拆开成一个个功能独立的函数, 就是中间件,每一个中间件就是一个函数,互不影响,但又彼此协作 。
2.基本使用
// 一. 导入koaconst Koa = require('koa')// 二. 实例化对象const app = new Koa()// 三. 编写中间件app.use((ctx, next) => {console.log('我来组成身体')//next() 可以将当前函数暂停并将控制传递给定义的下一个中间件 。next()})app.use((ctx, next) => {console.log('我来组成头部')next()})app.use((ctx) => {console.log('---------')//如果此处不使用ctx.body会报错“not found”ctx.body = '组装完成'})// 四. 启动服务app.listen(3000, () => {console.log('server is running on http://localhost:3000')})
app.use 可以将给定的中间件方法添加到此应用程序需要注意的是,其一次只能接受一个函数做为参数 。其返回 this, 因此可以链式表达,以上代码可以简写为
// 一. 导入koaconst Koa = require('koa')// 二. 实例化对象const app = new Koa()// 三. 编写中间件app.use((ctx, next) => {console.log('我来组成身体')next()}).use((ctx, next) => {console.log('我来组成头部')next()}).use((ctx) => {console.log('---------')//如果此处不使用ctx.body会报错“not found”ctx.body = '组装完成'})// 四. 启动服务.listen(3000, () => {console.log('server is running on http://localhost:3000')})