Koa2 与它的中间件们

栏目: Node.js · 发布时间: 7年前

内容简介:ES6 的模块语法入口文件使用不嫌弃配置麻烦的话,也可以考虑

Node.js

reify

Enable ECMAScript 2015 modules in Node today. No caveats. Full stop.

ES6 的模块语法 import 在 node 环境中仍然不兼容,或者说需要 ejs 文件格式。

入口文件使用 reify 解决:

require("reify")

不嫌弃配置麻烦的话,也可以考虑 babel

中间件

Koa2 需要配合非常多中间件来使用,才能成为一个后端框架。

koa-conditional-get

Conditional Get 又名 条件式请求 ,常见实现有 Last-Modified 和 ETag 两种。

const conditional = require('koa-conditional-get');
const etag = require('koa-etag');
const Koa = require('koa');
const app = new Koa();

// use it upstream from etag so
// that they are present

app.use(conditional());

// add etags

app.use(etag());

koa-bodyparser

解析 HTTP 主体

var Koa = require('koa');
var bodyParser = require('koa-bodyparser');

var app = new Koa();
app.use(bodyParser());

app.use(async ctx => {
  // the parsed body will store in ctx.request.body
  // if nothing was parsed, body will be an empty object {}
  ctx.body = ctx.request.body;
});

koa-static

静态服务器

import staticServe from 'koa-static'

app.use(staticServe(path.join(__dirname, '../assets'), {
    maxAge: 24 * 60 * 60
}))

koa-views

模板渲染中间件

const views = require('koa-views');

app.use(views(path.join(__dirname, 'views')));

koa-mount

通过 URL 挂载,将其他 Koa 实例挂在到一个主实例中

const a = new Koa();

const b = new Koa();

app.use(mount('/hello', a));
app.use(mount('/world', b));

koa-connect

兼容 Express 中间件可以在 Koa 中使用

import connect from 'koa-connect'

app.use(c2k(connectMiddlware))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

SRE

SRE

贝特西 拜尔 (Betsy Beyer)、等 / 孙宇聪 / 电子工业出版社 / 2016-10-1 / CNY 108.00

大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?在《SRE:Google运维解密》中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存最大的软件系统。通过阅读《SRE:Google运维解密》,读者可以学习到......一起来看看 《SRE》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具