Gosto que cada uma das minhas funções de middleware esteja em arquivos separados e consolidados em um único diretório chamado, você adivinhou, ‘middleware’.
Em seguida, simplesmente solicito () meu carregador automático middleware.coffee, e todo o meu middleware é carregado automaticamente:
console.log ‘Exportando todo o middleware personalizado’
fs = require 'fs'
path = require 'path'
basename = path.basename
exports.middleware = {}
# Auto-load middleware with getters.
fs.readdirSync("#{__dirname}/middleware").forEach (fileName) ->
load = ->
require "./middleware/#{moduleName}"
return unless /.coffee$/.test(fileName)
moduleName = basename(fileName, '.coffee')
exports.middleware.__defineGetter__ moduleName, load
exports.__defineGetter__ moduleName, load