Como usar o middleware de rota personalizada com o Sails.js? (ExpressJS)

Acabei de descompactar uma nova cópia do framework Node Sails.js. Ele é construído no Express 3. No arquivo /config/routes.js está este comentário:

/**
 * (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 = { ...

Na mesma pasta de configuração, criei o arquivo chamado 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
    // ...
  }
};

Minha intenção é fazer com que as solicitações GET não Ajax carreguem o mesmo arquivo de modelo para que meu aplicativo CanJS possa configurar o estado do aplicativo com base na URL (para que meu aplicativo JavaScript seja adequadamente habilitado para favoritos).

Eu gostaria de executar esse script como middleware.Alguém pode me mostrar como usar o app.use () nesse caso para que o script is_ajax.js seja executado antes de outro roteamento?

Eu estou supondo que é algo como

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

Somente quando eu faço o acima, ele me diz que não pode encontrar o módulo expresso. Eu verifiquei que express é um módulo dentro dos node_modules do Sails. Existe outra sintaxe para carregá-lo? Eu prefiro não ter que instalar uma segunda cópia do expresso ao lado das velas. Existe uma maneira de acessar a instância original do aplicativo Sails / Express?

questionAnswers(3)

yourAnswerToTheQuestion