W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
壓縮可以大大減小響應(yīng)體的大小,從而提高 Web 應(yīng)用程序的速度。
對于生產(chǎn)中的高流量網(wǎng)站,強(qiáng)烈建議從應(yīng)用程序服務(wù)器卸載壓縮 - 通常在反向代理中(例如 Nginx)。 在這種情況下,我們不應(yīng)該使用壓縮中間件。
使用壓縮中間件包啟用 gzip 壓縮。
首先安裝所需的包:
$ npm i --save compression
安裝完成后,將壓縮中間件應(yīng)用為全局中間件。
import * as compression from 'compression';
// 在你的初始化文件的某個(gè)地方
app.use(compression());
如果使用 FastifyAdapter,你需要使用 fastify-compress:
$ npm i --save fastify-compress
安裝完成后,將 fastify-compress 中間件應(yīng)用為全局中間件。
import compression from 'fastify-compress';
// 在你的初始化文件的某個(gè)地方
await app.register(compression);
默認(rèn)情況下,當(dāng)瀏覽器指示支持編碼時(shí),fastify-compress 將使用 Brotli 壓縮(在 Node >= 11.7.0 上)。 雖然 Brotli 在壓縮率方面非常有效,但它也很慢。 因此,我們可能希望告訴 fastify-compress 僅使用 deflate 和 gzip 來壓縮響應(yīng); 最終會(huì)得到更大的響應(yīng),但它們的交付速度會(huì)更快。
要指定編碼,請向 app.register 提供第二個(gè)參數(shù):
await app.register(compression, { encodings: ['gzip', 'deflate'] });
上面告訴 fastify-compress 只使用 gzip 和 deflate 編碼,如果客戶端同時(shí)支持,則首選 gzip。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: