Koa2 与它的中间件们

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

内容简介: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))

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

查看所有标签

猜你喜欢:

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

ACM国际大学生程序设计竞赛题解

ACM国际大学生程序设计竞赛题解

赵端阳//袁鹤 / 电子工业 / 2010-7 / 39.00元

随着各大专院校参加ACM/ICPC热情的高涨,迫切需要有关介绍ACM国际大学生程序设计竞赛题解的书籍。《ACM国际大学生程序设计竞赛题解(2)》根据浙江大学在线题库的部分题目,经过分类、筛选、汇编,并进行了解答(个别特别简单或者特别复杂的题目未选择),比较详细地分析和深入浅出地讲解了解题的方法和用到的算法。题目的类型包括基础编程、模拟、字符串处理、搜索、动态规划、回溯、图论、几何和数学题。 ......一起来看看 《ACM国际大学生程序设计竞赛题解》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具