¿Cómo usar middleware de ruta personalizado con Sails.js? (ExpressJS)

Acabo de desembalar una nueva copia del marco de Node Sails.js. Se basa en Express 3. En el archivo /config/routes.js se encuentra este comentario:

/**
 * (1) Core middleware
 *
 * Middleware included with `app.use` is run first, before the router
 */


/**
 * (2) Static routes
 *
 * This object routes static URLs to handler functions--
 * In most cases, these functions are actions inside of your controllers.
 * For convenience, you can also connect routes directly to views or external URLs.
 *
 */

module.exports.routes = { ...

En la misma carpeta de configuración he creado el archivo llamado is_ajax.js.

// Only run through API on ajax calls.
module.exports.isAjax = function(req, res, next){
  if (req.headers['x-requested-with']) {
    // Allow sails to process routing
    return next();
  } else {
    // Load main template file
    // ...
  }
};

Mi propósito es hacer que las solicitudes GET no Ajax carguen el mismo archivo de plantilla para que mi aplicación CanJS pueda configurar el estado de la aplicación en función de la URL (por lo que mi aplicación javascript es capaz de marcar correctamente).

Me gustaría ejecutar ese script como middleware.¿Alguien puede mostrarme cómo usar app.use () en este caso para que el script is_ajax.js se ejecute antes que otro enrutamiento?

Supongo que es algo como

var express = require('express');
var app = express();
app.use( require('./is_ajax') );

Solo cuando hago lo anterior, me dice que no puede encontrar el módulo Express. He verificado que Express es un módulo dentro de node_modules de Sails. ¿Hay otra sintaxis para cargarla? Prefiero no tener que instalar una segunda copia de Express junto a las velas. ¿Hay alguna forma de acceder a la instancia de la aplicación Sails / Express original?

Respuestas a la pregunta(3)

Su respuesta a la pregunta