Как использовать пользовательское промежуточное программное обеспечение маршрута с Sails.js? (ExpressJS)

Я только что распаковал свежую копию Node framework Sails.js. Он построен на Express 3. В файле /config/routes.js есть этот комментарий:

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

В той же папке конфигурации я создал файл с именем 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
    // ...
  }
};

Моя цель состоит в том, чтобы все GET-запросы не Ajax загружали один и тот же файл шаблона, чтобы мое приложение CanJS могло устанавливать состояние приложения на основе URL-адреса (чтобы мое приложение javascript правильно поддерживало закладки).

Я хотел бы запустить этот скрипт в качестве промежуточного программного обеспечения.Может кто-нибудь показать мне, как использовать app.use () в этом случае, чтобы скрипт is_ajax.js запускался перед другой маршрутизацией?

Я предполагаю, что это что-то вроде

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

Только когда я делаю выше, это говорит мне, что он не может найти экспресс-модуль. Я убедился, что express - это модуль внутри Sails 'node_modules. Есть ли другой синтаксис для его загрузки? Я бы предпочел не устанавливать второй экземпляр экспресса вместе с парусами. Есть ли способ получить доступ к исходному экземпляру приложения Sails / Express?

Ответы на вопрос(3)

Ваш ответ на вопрос