KoaHub平台基于Node.js开发的Koa的skip插件代码详情

koahub-skip

koahub skip middleware

koahub skip

Conditionally skip a middleware when a condition is met.

Install

npm i koahub-skip --save

Usage

With existing middlewares:

var skip = require(‘koahub-skip‘);
var serve  = require(‘koa-static‘);

var static = serve(__dirname + ‘/public‘);
static.skip = skip;

app.use(static.skip({ method: ‘OPTIONS‘ }));

  

If you are authoring a middleware you can support skip as follow:

module.exports = function () {
  var mymid = function *(next) {
    // Do something
  };

  mymid.skip = require(‘koahub-skip‘);

  return mymid;
};

  

Current options

  • method it could be an string or an array of strings. If the request method match the middleware will not run.
  • path it could be an string, a regexp or an array of any of those. If the request path match, the middleware will not run.
  • ext it could be an string or an array of strings. If the request path ends with one of these extensions the middleware will not run.
  • custom it must be a function that returns true / false. If the function returns true for the given request, ithe middleware will not run. The function will have access to Koa‘s context via this
  • useOriginalUrl it should be true or false, default is true. if false, path will match against ctx.url instead of ctx.originalUrl.

Examples

Require authentication for every request skip the path is index.html.

app.use(requiresAuth().skip({ path: [‘/index.html‘, ‘/‘] }))

  

Avoid a fstat for request to routes doesnt end with a given extension.

app.use(static.skip(function () {
  var ext = url.parse(this.originalUrl).pathname.substr(-4);
  return !~[‘.jpg‘, ‘.html‘, ‘.css‘, ‘.js‘].indexOf(ext);
}));

  

wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统

wemall地址:http://www.wemallshop.com
代码地址:http://js.koahub.com/home/feature/koahub-skip

时间: 2024-08-08 16:31:32

KoaHub平台基于Node.js开发的Koa的skip插件代码详情的相关文章

KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情

koa-router Router middleware for koa. Provides RESTful resource routing. koa-router       Router middleware for koa Express-style routing using app.get, app.put, app.post, etc. Named URL parameters. Named routes with URL generation. Responds to OPTIO

KoaHub平台基于Node.js开发的Koa的简单包装到请求库的类似接口

co-request co-request promisify wrapper for request co-request Simple wrapper to the request library for co-like interface (node.js generator based code). You can use it with koa or co To install simply run: npm install co-request Require co first, a

KoaHub平台基于Node.js开发的Koa的rewrite and index support插件代码详情

koa-static-server Static file serving middleware for koa with directory, rewrite and index support koa-static-server static file serving middleware for koa with directory, rewrite and index support Installation $ npm install koa-static-server API var

KoaHub.JS基于Node.js开发的Koa 生成验证码插件代

ccap node.js generate captcha using c++ library CImg without install any other lib or software node-ccap -- node.js generate captcha using c++ library CImg. You can generate captcha without install any other libraries or software, only do npm install

KoaHub.JS基于Node.js开发的处理和显示日期代码

moment Parse, validate, manipulate, and display dates      A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. Documentation Port to ECMAScript 6 (version 2.10.0) Moment 2.10.0 does not bring any new fea

基于Node.js的文件服务器(使用Q重构代码)

之前写过一篇文章,简单介绍了一个基于Node.js的静态文件服务器.那时还只是个人兴趣.最近又有了关于服务器的新的需求,我就想花点时间,好好研究一下.所以把之前的代码拿出来重构了一番,整体代码变得干净很多. 首先最新Node.js是支持generator的,所谓generator,就是javascript中的协程(半协程),不过功能稍弱,仅仅是为了解决js中凶名赫赫的callback hell而诞生的.这里我并没有使用generator,而是使用promise(饭要一口一口吃,先弄明白promi

NodeBB – 基于 Node.js 的开源论坛系统

NodeBB 是一个更好的论坛平台,专门为现代网络打造.它是免费的,易于使用. NodeBB 论坛软件是基于 Node.js 开发,支持 Redis 或 MongoDB 的数据库.它利用 Web Socket 实现即时交互和实时通知.NodeBB 向下兼容到 IE8 ,有许多现代化的开箱即用功能:如社交网络集成和流媒体的讨论. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HT

Node.js开发入门—notepad++ for Node.js

对于Node.js开发,论IDE的话,Webstorm是不二的选择,但它是收费的(可免费使用30天).一开始,我们先将就一下,使用notepad++来编写Node.js应用.这样做还有一大好处:没有关于Node.js的代码高亮和自动补全,可以更好地敦促我们使用在线API文档记忆各种类库API.死磕自己吧,enjoy it. notepad++的安装与配置 到"https://notepad-plus-plus.org/download/v6.8.2.html"这里下载吧,6.8.2版本

基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码

最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyunUse with co-request var printer = require('koahub-yilianyun');var resu