看到productionGzip:false,
productionGzipExtensions: ['js','css'],
有想過古沥,webpack 中productionGzip?的意義?
壓縮并相應(yīng)后,在服務(wù)端有一個(gè)備份恋谭,下次有請(qǐng)求時(shí)弥虐,直接返回備份的gzip內(nèi)容.
圖一,沒有開Nginx的gzip
圖二脏毯,是開啟Nginx的gzip 配置
圖三闹究,是webpack預(yù)先打包gzip,nginx的配置使用食店;
gz的意義
Nginx的gzip
location?~* /static/js/??{??
??gzip_static?on;
??expires?30d;??
??add_header?Cache-Control?public;??
}
location?~* /static/css/??{??
??gzip_static?on;
??expires?30d;??
??add_header?Cache-Control?public;??
}??
http_gzip_static_module 模塊
在nginx中使用gzip_static來緩存gzip文件
安裝了nginx的Gzip靜態(tài)模塊(使用--with-http_gzip_static_module編譯nginx)渣淤。它允許您預(yù)先緩存您的gzip文件赏寇。可以通過nginx -V檢查編譯時(shí)帶了哪些模塊价认。
假設(shè)你有文件/css/a.css嗅定。當(dāng)遇到a.css的請(qǐng)求時(shí)。靜態(tài)gzip模塊將查找/css/a.css.gz用踩。如果找到它渠退,它將作為gzip壓縮內(nèi)容提供該文件。這允許您在部署站點(diǎn)時(shí)使用最高壓縮比(gzip -9)對(duì)靜態(tài)文件進(jìn)行g(shù)zip捶箱。Nginx除了提供靜態(tài)gzip文件之外絕對(duì)沒有工作要做(它非常擅長(zhǎng)提供靜態(tài)內(nèi)容)智什。
無論你在nginx配置中有g(shù)zip部分,你都可以:
gzip_static on
注意丁屎,必須自己創(chuàng)建文件的.gz版本荠锭,并且在文檔中提到,如果原始文件和.gz文件具有相同的時(shí)間戳晨川,則更好证九。因此,在創(chuàng)建文件后“touch”文件可能是個(gè)好主意共虑。將gzip壓縮降低(gzip_comp_level 1..3)也是一個(gè)好主意愧怜。這將最小化壓縮動(dòng)態(tài)內(nèi)容,而不會(huì)給服務(wù)器帶來太大壓力妈拌。請(qǐng)記住拥坛,這僅適用于靜態(tài)內(nèi)容(css,javascript等)尘分。動(dòng)態(tài)頁(yè)面可以并且應(yīng)該被壓縮猜惋,但壓縮率較低,以保持服務(wù)器的負(fù)載能力培愁。
Webpack可以把內(nèi)容直接輸出成.gz格式著摔,這樣與 Webpack 合作將是一個(gè)不錯(cuò)的選擇。