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-c500を実行するとキャッシュヒットが0になります。
明らかに私は何か間違ったことをしている(順序やオプションがめちゃくちゃになっていると思う)が、それが何であるか理解できない。これらの3つのミドルウェアが正しく連携して動作する実例はありますか?