2017-02-05 5 views
0

私はcliで構築しgzippedした角度2のアプリケーションを持っています。私はdistフォルダからアプリケーションを提供することができますが、パフォーマンスをさらに向上させるために.gzバージョンのjsファイルを提供したいと思います。.jsリクエストをインターセプトし、ノードとエクスプレスで.gzを追加する

エクスプレスサーバファイルの試み:

app.get('*.js', function (req, res, next) { 
    req.url = req.url + '.gz'; 
    res.set('Content-Encoding', 'gzip'); 
    console.log(req,res); 
    next(); 
}); 

も試み:

app.use(function(req,res,next){ 
    console.log(req,res); 
    var hello = req.url.split('.'); 
    if(hello[hello.length-1]=='js'){ 
     console.log(req,res); 
     req.url += '.gz'; 
     res.set('Content-Encoding', 'gzip'); 
    } 

    next(); 
}); 
+0

私はExpress圧縮ミドルウェアを使用することができましたが、要求を傍受することが可能かどうかは疑問です。 – dcatoday

+0

あなたの質問に対する回答が見つかりましたか?私は同じことを達成しようとしています。運がない。 –

+0

ちょっと@jamesemanon私は圧縮npmパッケージを使用し、それはうまくいきます。それは私のサイトのサイズを200kb以下に減らし、画像を数えませんでした。 – dcatoday

答えて

0

をあなたはcompression NPMモジュールを使用することができます。

hereがあります。

次に、圧縮はHTTPレイヤーでサポートされ、透過的に行われます。ファイル拡張子を変更したり、ファイルを圧縮したりする必要はありません。

圧縮ファイルを直接処理しない限り、サーバーは圧縮を実行しています。この場合、ファイル圧縮形式は拡張子から推測されます。

処理時間を節約したい場合は、サーバの前にリバースプロキシキャッシュを置くことができます。

+0

ねえ、それは私がやったことです。私は元の投稿にコメントとして追加しました。 – dcatoday

+0

これで問題は解決しますか?もしそうなら、それを答えとして選択できますか? – arboreal84

関連する問題