Использование static(), staticCache()и compress()node.js connect промежуточного ПО

У меня есть приложение Express 3.0, и я пытаюсь использовать промежуточное ПО static(), staticCache()и compress()для обслуживать и сжимать мои статические файлы. Это моя текущая app.configure()функция:

 app.configure(function() {
  app.use(express.favicon(__dirname + '/public/favicon.ico', {maxAge: 86400000}));
  app.use(express.bodyParser());
  app.use(express.cookieParser('foo'));
  app.set('views', __dirname + '/views');
  app.engine('.html', mustache({cache: true}).render);
  app.use(express.session({ store: sessionStore, secret: 'foo'}));
  app.use(express.staticCache());
  app.use(express.static(__dirname + '/public', {maxAge: 86400000}));
  app.use(express.compress());
});

// routes are loaded here

С этой конфигурацией YSlow сообщает, что мои файлы.css и.js не сжаты, и я не могу получить попадание в кеш без очистки браузера и многократного обновления страницы. Я также попытался добавить оператор отладки в промежуточное программное обеспечение staticCache, чтобы сообщить о попаданиях в кеш, и запустить ab -n 10000 -c 500, чтобы показать 0 попаданий в кеш.

Очевидно, я делаю что-то не так. (Я предполагаю, что порядок или опции перепутаны), но я не могу понять, что именно. У кого-нибудь есть рабочий пример с этими тремя компонентами промежуточного программного обеспечения, которые правильно работают вместе?

19
задан Bill 18 April 2012 в 21:05
поделиться