2017-04-22 46 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進行了簡化和縮小。

+1

區別可能是gzip壓縮。 – idbehold

+0

謝謝@idbehold。剛注意到我的express服務器中啓用了壓縮中間件。 – 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; 
相關問題