node笔记_koa框架是什么?

文章目录

    • ⭐前言
    • ⭐ koa框架是如何发展而来的?
    • ⭐ koa框架的基本使用
      • 安装 koa
      • koa的Middleware示例
      • 支持xml
    • ⭐ 结束

⭐前言

大家好,我是yma16,本文介绍node的一个web框架koa。
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件
node笔记_连接mysql实现crud
node笔记_formidable实现前后端联调的文件上传

⭐ koa框架是如何发展而来的?

node笔记_koa框架是什么?_第1张图片

关于node

Node.js于2009年写成,原始作者是瑞安·达尔( Ryan Dahl)。
Ryan 的本职工作是用 C++ 写服务器
大佬总结出一个经验,一个高性能服务器应该是满足“事件驱动,非阻塞 I/O”模型的。
C++ 开发起来比较麻烦,于是 Ryan就想找一种更高级的语言,以便快速开发,写出node.js。

关于express

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP
工具。

使用 Express 可以快速地搭建一个完整功能的网站。

Express 框架核心特性:

  1. 可以设置中间件来响应 HTTP 请求。

  2. 定义了路由表用于执行不同的 HTTP 请求动作。

  3. 可以通过向模板传递参数来动态渲染 HTML 页面。

关于Koa

Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。
koa利用 async 函数 Koa 帮用户丢弃回调函数,并有力地增强错误处理。
Koa并没有捆绑任何中间件, 而是提供了一套优雅的方法帮助用户快速而愉快地编写服务端应用程序。
koa专注于异步流程改进

⭐ koa框架的基本使用

node笔记_koa框架是什么?_第2张图片

安装 koa

$ npm i koa

搭建一个hello csdn

const Koa = require('koa');
const app = new Koa();

// response
app.use(ctx => {
  ctx.body = 'Hello csdn';
});

app.listen(3000);

ip默认localhost,访问localhost:3000成功返回hello csdn!
node笔记_koa框架是什么?_第3张图片

koa的Middleware示例

koa有以下两种不同的函数作为中间件

  • async function
  • common function

async

app.use(async (ctx, next) => {
  const start = Date.now();
  await next();
  const ms = Date.now() - start;
  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});

记录请求的耗时
node笔记_koa框架是什么?_第4张图片
common

app.use((ctx, next) => {
  const start = Date.now();
  return next().then(() => {
    const ms = Date.now() - start;
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  });
});

node笔记_koa框架是什么?_第5张图片
这个时间差要比浏览器的响应时间小很多,浏览器的请求需要考虑到延迟等因素

支持xml

定义一个名为designXml的xml文件


<message>
    <warning>
        Hello csdn,I'm YMA16 and focus on front-end development.
    warning>
message>

请求的body返回该xml文件

app.use(async (ctx, next) => {
  await next();
  ctx.response.type = 'xml';
  ctx.response.body = fs.createReadStream('designXml.xml');
});

返回成功!
node笔记_koa框架是什么?_第6张图片

⭐ 结束

本文介绍koa到此结束,如有错误或者不足欢迎指出!
感谢你的阅读
node笔记_koa框架是什么?_第7张图片

你可能感兴趣的:(学习笔记,笔记,node.js,web框架)