0.1.0 • Published 6 years ago

koa-path-mapping v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

koa-path-mapping

version downloads

Koa middleware for redirect or path rewrite of requests. Support path rewrite of failed requests. 用于对请求进行重定向或路径重写的 koa 中间件,支持对失败的请求进行路径重写。

允许对 404 请求进行路径重写,并回退到 next(),对于以下场景非常有用:

  • 使用 HTML5 History API 的单页应用和多页应用
  • 使用 webpack-dev-middleware 的开发服务器,例如 webpack-serve

起步

安装

npm install --save-dev koa-path-mapping

用法

const Koa = require('koa');
const pathMappingMiddleware = require('koa-path-mapping').pathMappingMiddleware;

const app = new Koa();
const options = {
    mapping: [
        { action: 'redirect', from: '^/$', to: '/login' },
        { action: 'rewrite', from: '^/game($|/)', to: '/app-game.html' },
    ],
    error: [{ action: 'rewrite', status: 404, to: '/app.html' }],
};
app.use(pathMappingMiddleware(options));

API

pathMappingMiddleware(options: PathMappingOptions)

PathMappingOptions

创建中间件的选项。

PathMappingOptions.mapping

类型: MappingOptions[] 默认: [] 参考

PathMappingOptions.error

类型: ErrorOptions[] 默认: [] 参考

PathMappingOptions.ignoreJson

类型: boolean 默认: true 是否忽略 application/json 的请求。

PathMappingOptions.enableLog

类型: boolean 默认: false 是否输出日志。

PathMappingOptions.logger

类型: Function 默认: console.log 设置输出日志所使用的函数。


MappingOptions

对请求进行重定向或路径重写,在进入时执行。

MappingOptions.action

类型: 'redirect' | 'rewrite' 设置执行的动作,必填。

MappingOptions.from

类型: RegExp | string 设置匹配的 path,如果未设置,则匹配所有的请求。值要求为 RegExp 实例,或是 RegExp 格式的字符串。

MappingOptions.to

类型: string 设置目标的 path,必填。


ErrorOptions

对失败的请求进行重定向或路径重写,在 next() 之后执行。如果匹配成功并执行路径重写,那么会再一次执行 next()

ErrorOptions.action

类型: 'redirect' | 'rewrite' 设置执行的动作,必填。

ErrorOptions.status

类型: number 设置匹配的状态码,如果未设置,则匹配 status >= 400

ErrorOptions.from

类型: RegExp | string 设置匹配的 path,如果未设置,则匹配所有的请求。值要求为 RegExp 实例,或是 RegExp 格式的字符串。

ErrorOptions.to

类型: string 设置目标的 path,必填。

License

MIT

0.1.0

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago