2016-04-07 11 views
0

をサービング私はapp.jsでこれを持っている:圧縮されたAPIレスポンス

app.configure(function() { 
    app.use(express.cookieParser()); 
    app.use(express.bodyParser()); 
    app.use(express.session({ 
     secret: 'supersecretkeygoeshere', 
     store: new MySQLStore(options), 
     //cookie: {maxAge: 1000} 
    })); 
    app.use(passport.initialize()); 
    app.use(passport.session()); 

    app.set('views', path.join(__dirname, 'public')); 

    app.use(express.favicon()); 


    app.use(express.json()); 
    app.use(express.urlencoded()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.compress()); 

別に静的ファイルを提供するから、私のようなAPIを提供:

app.get('/api/myfun', function(req, res) { 
    res.json('Lot of data'); 
}); 

静的ファイルがコンテンツを添えます - プロパティ値をgzipとしてエンコードします。ブラウザでAPIの応答を観察すると、Content-Encodingプロパティは "gzip"ではありません。 APIをgzip形式でも提供するには、何が必要ですか?

答えて

1

ルータのミドルウェアの前に、圧縮ミドルウェアが追加されています。これは、ルータが処理する要求が決して圧縮ミドルウェアに届かないことを意味します。余談として

app.use(express.compress()); 
app.use(app.router); 

は、あなたはそれらのミドルウェアの順序を変更する必要がありますが、推奨されていませエクスプレス3を、使用しているように見えます。

関連する問題