Skip to content

Latest commit

 

History

History
323 lines (260 loc) · 51.5 KB

README-en.md

File metadata and controls

323 lines (260 loc) · 51.5 KB

English | 简体中文

Under continuous construction...

You can also see

Table of contents

Official

Resources

Tutorials

Repository

Framework

  • Egg - Born to build better enterprise frameworks and apps with Node.js & Koa.
  • ThinkJS - Use full ES2015+ features to develop Node.js applications, Support TypeScript.
  • midway - A Node.js Serverless Framework for front-end/full-stack developers. Midway can use koa, express or EggJS as the basic web framework.
  • lad - The best Node.js framework. Made by a former Express TC and Koa team member.
  • CabloyJS - A Node.js full-stack framework with workflow engine, based on koa + egg + vue + framework7.
  • koatty - Koa2 + Typescript = Koatty. Use Typescript's decorator implement IOC and AOP.

Examples & Boilerplates

  • node-typescript-koa-rest - REST API boilerplate using NodeJS and KOA2, typescript. Logging and JWT as middlewares. TypeORM with class-validator, SQL CRUD. Docker included. Swagger docs, actions CI and valuable README.
  • koa-rest-api-boilerplate - Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, Coveralls and CircleCI.
  • koalerplate - A simple Koa 2 boilerplate for API's using ES6.

Content management systems (CMS)

  • Strapi - Content Management Framework (headless-CMS) to build powerful APIs.

Middleware

JSON

  • koa-json - Pretty-printed JSON response middleware.
  • koa-json-filter - Middleware allowing the client to filter the response to only what they need, reducing the amount of traffic over the wire.
  • koa-json-mask - Middleware allowing the client to filter the response to only what they need, reducing the amount of traffic over the wire.
  • koa-is-json - check if a koa body should be interpreted as JSON

JSONP

CSS Preprocessor

Body Parsing

  • koa-bodyparser - A body parser for koa, base on co-body.
  • koa-body - A full-featured koa body parser middleware. Supports multipart, urlencoded, and json request bodies. Provides the same functionality as Express's bodyParser - multer.
  • koa-better-body - Full-featured koa body parser! Support parsing text, buffer, json, json patch, json api, csp-report, multipart, form and urlencoded bodies. Works for koa@1, koa@2 and will work for koa@3.
  • koa-multer - Multer is a node.js middleware for handling multipart/form-data for koa. multer wrapper for koa's middleware.
  • koa-xml-body - Parse xml http request bodies
  • koa-busboy - Handling multipart/form-data for koa v2.
  • koa-json-body - Parse valid JSON request bodies.
  • koa-body-parsers - Collection of koa body parsers.

Utilities

  • koa-compose - Compose several middleware into one.
  • koa-convert - Convert koa legacy ( v0.x & v1.x ) generator middleware to promise middleware ( v2.x ).
  • koa-connect - Use connect and express middleware in koa.
  • koa-useragent - Fast Middleware exposing user-agent.

View

  • koa-views - Render your views with almost any templating engine
  • koa-ejs - A koa view render middleware, support all feature of ejs.
  • koa-react-view - A Koa view engine which renders React components on server.
  • koa-hbs - Express-style Handlebars view rendering.
  • koa-pug - a Pug (renamed Jade) middleware for Koa.
  • koa-handlebars - Handlebars view rendering.
  • koa-swig - Focus on swig, support tags, filters, and extensions.
  • koa-vue-view - A Koa view engine which renders Vue components on server. image
  • koa-view - Nunjucks view rendering.
  • koa-nunjucks-next - Nunjucks view rendering, support asynchronous filters, render raw string.
  • koa-dom - server-side dom templating
  • koa-xtpl - A node.js wrapper around xtemplate engine (easier for Koa 2).
  • koa-nunjucks-async - A Koa@2 middleware for rendering Nunjucks templates. Uses Node's native async/await, and util.promisify. Also exposes ctx.state to rendered templates.
  • co-ejs - koa ejs view render middleware.
  • koajs-nunjucks - Nunjucks view rendering.
  • koa-swig-render - Focus on - swig, used as a middleware.
  • koa2-jsx - JSX rendering using server-side React methods, with Redux support to set templating data from context. Can be used to create universal application.
  • koahub-handlebars - Handlebars view rendering, Use async/await

File Serving

  • koa-static - Static file server middleware.
  • koa-send - Transfer static files.
  • koa-static-cache - static file serving from memory.
  • koa-favicon - Koa middleware for serving a favicon. Based on serve-favicon.
  • koa-static-server - Static file serving middleware for koa with directory, rewrite and index support.
  • koa-sendfile - Basic file-sending utility for koa.
  • koa-file-server - Static file serving with additional features like etag and SPDY Push support.
  • koa-stream - A send file utility supporting range request.
  • koa-better-serve - Small, simple and correct serving of files, using koa-send - nothing more.
  • koa-spa - Single page app server build upon static-cache.
  • koa-serve-static - Serve static files, based on Express's serve-static.
  • koa-static2 - Middleware for Koa2 to serve a folder under a name declared by user.
  • koa-static-folder - Serve static files using a folder.
  • koa-serve-list - Serve directory listings for koa, based on Express's serve-index.
  • koa-serve - Koa middleware for serving static files.
  • koa-watchify - Wraps a browserify or watchify instance into a koa middleware.
  • koa-files - A static files serving middleware for koa, support multipart range and download resumption.
  • koa-static-resolver - Koa static file resolver, dirs, default index, path replace, cache, livereload, gzip.
  • koa-simple-static - Simple caching static file server for Koa, in TypeScript.
  • koa2-serve-index - A Koa2 middleware serves pages that contain directory listings for a given path, based on Express's serve-index.

Routing and Mounting

Authentication

Database

Graphql

  • koa-graphql - Koa middleware for creating a GraphQL HTTP server.
  • koa-graphiql - Koa middleware to display GraphiQL, the interactive GraphQL UI.

Compression

  • koa-compress - Compression middleware.
  • koa-compressor - SPDY/HTTP2 compression middleware (always gzips)
  • kompression - forked of koa-compress with support for brotli compression
  • koa-minify - minify middleware for js, css, html and img.
  • koa-uglify2 - uglify middleware for js with caching.

Session

Cookies

Caching

WebSocket

  • koa-easy-ws - Simple Koa middleware for websocket handling.

Rate Limiting

  • rate-limiter-flexible - Limit requests by key with atomic increments in single process or distributed environment and protect against DDoS and brute force attacks at any scale in process Memory, Cluster or PM2, Redis, Memcached, MongoDb, etc
  • koa-ratelimit - Rate limiting middleware
  • koa-better-ratelimit - Support custom stores, custom ID, custom error messages and custom headers.
  • koa-ip-filter - Koa middleware to filter request IPs or custom ID with glob patterns, array, string, regexp or matcher function. Support custom 403 Forbidden message and custom ID.

Documentation

Security

  • @koa/cors - Cross-Origin Resource Sharing(CORS) for koa.
  • koa-helmet - Provides important security headers to make your app more secure by default.
  • koa-csrf - CSRF tokens.
  • koa-cors - CORS middleware for Koa.
  • koa-roles - Koa version of connect-roles
  • koa-rbac - Role-Based Access Control for koa.
  • koa-lusca - Koa version of lusca. Application security for koa.
  • koa-ip - Ip filter middleware for koa, support whitelist and blacklist.
  • koa-authz - ACL, RBAC, ABAC authorization middleware based on Casbin.
  • koa-ip-filter - Middleware for koa that filters IPs against glob patterns, RegExp, string or array of globs using ip-filter and micromatch. Support custom 403 Forbidden message and custom ID.
  • koa-protect - Security module for koa applications.
  • koa-acl - ACL middleware for koa.

Logging

  • koa-logger - Development style logging middleware.
  • cabin - Logging/analytics service and middleware for Node.js, Lad, Koa, Express, and Passport.
  • concurrency-logger - Log HTTP requests/responses separately, visualize their concurrency and report logs/errors in context of a request.
  • koa-bunyan-logger - Koa middleware for bunyan request logging.
  • koa-log4 - A wrapper for log4js-node which supports koa middleware.
  • koa-pino-logger - pino logging koa middleware.
  • koa-morgan - Morgan for koa.
  • koa-json-logger - HTTP Request/Response/Error JSON format logger.
  • koa-bunyan - Using node-bunyan as koa logging middleware.
  • koa-accesslog - Middleware for common log format access logs.

Error reporting

i18n

  • koa-locales - Koa locales, i18n solution for koa.
  • koa-i18n - Lightweight simple translation middleware based on i18n-2.
  • koa-locale - Get locale variable from query, subdomain, accept-languages or cookie.

Deployment

  • koa-cluster - Koa clustering and error handling utility.