2017-04-22 4 views
0

私のReact Webpackアプリケーションから生成した静的バンドルの配信を最適化しようとしています。このプロセスでは、同じファイルの場合、Expressサーバーを介してコンテンツを提供するとき、ファイル・サイズはnginxを使用した場合よりも比較的低かったことに気付きました。ここで静的バンドルを提供する際のNginxとExpressサーバーのファイルサイズの違いを確認

は、バンドルサービスを提供するために私の急行コードです:ここでは

app.use(express.static(project.paths.dist())); 

は私のnginxの設定ファイルである:

server { 
listen 80; 

root /home/test/dist/; 
index index.html index.htm app.js; 

server_name www.ranodom.com; 

location/{ 
    try_files $uri /index.html; 
} 

error_log /var/log/nginx/test/website-error_log error; 
access_log /var/log/nginx/test/website-access_log; 
} 

特急を通じて提供:

Express served files

務めたときnginx経由: Nginx served files

上記のスクリーンショットからわかるように、ファイルサイズは大きく異なります。フォルダ内の実際のファイルサイズは、Nginxサーバーから提供されているものと同じです。

私の質問は、この違いの理由は何ですか?静的な表現は、提供されたファイルを最適化/圧縮するか、またはキャッチされていますか?それほど大きな違いがある場合は、エクスプレスサーバ経由でこれらのファイルを提供し、nginx経由でインデックスページにルーティングする方が良いでしょうか?

PS。上記のファイルはすでにwebpackを使用してuglifiedおよびminifiedされています。

+1

違いはおそらくgzip圧縮です。 – idbehold

+0

ありがとう@idbehold。エクスプレスサーバで圧縮ミドルウェアが有効になっていることに気付きました。 – codeslayer1

答えて

0

私の高速サーバーで圧縮ミドルウェアが有効になっており、サイズが縮小されていることがわかりました。

他の誰かがこの投稿を見つけたら、以下の設定を使ってnginxを使って同様の結果が得られることに気付かないでください。

gzip on; 
gzip_min_length 1000; 
gzip_types text/html text/css application/javascript text/javascript text/plain text/xml application/json; 
関連する問題