代码合并工具_资源合并与压缩
上圖右側(cè)不合并請(qǐng)求的缺點(diǎn)
文件合并也存在問(wèn)題:(同類文件都合并一塊的話)
首屏渲染問(wèn)題:場(chǎng)景大部分出現(xiàn)在現(xiàn)代化前端框架使用過(guò)程中(如:vue、angular如果沒(méi)有做啟動(dòng)服務(wù)端渲染的情況下,是將整個(gè)渲染過(guò)程通過(guò)框架來(lái)接管的,所以它要是渲染的話,必須要把框架代碼加載完成之后才能進(jìn)行渲染,如果框架代碼被一個(gè)非常大的框js代碼合并在一起了,這個(gè)渲染就會(huì)完全依賴于與這個(gè)文件合并之后js文件來(lái)進(jìn)行,就會(huì)出現(xiàn)首屏渲染問(wèn)題),
緩存失效問(wèn)題:js文件緩存,比如a、b、c三個(gè)js文件,合并為d.js文件。
合并前:a文件改變只會(huì)造成a文件緩存失效。
合并后:原本a文件內(nèi)容改變,會(huì)造成d.js文件全部?jī)?nèi)容緩存失效
文件合并比較適合用的場(chǎng)景:公共庫(kù)的合并、不同頁(yè)面的合并、見(jiàn)機(jī)行事,隨機(jī)應(yīng)變
真實(shí)業(yè)務(wù)場(chǎng)景中我們希望當(dāng)單應(yīng)用的某個(gè)頁(yè)面被路由到的時(shí)候,我們才去加載那個(gè)頁(yè)面的組件才去請(qǐng)求該頁(yè)面是 js。也就是將不同頁(yè)面的js分別打包。在webpack、FIS等構(gòu)建工具中都是可以實(shí)現(xiàn)的,就是異步加載組件結(jié)合現(xiàn)在的框架都有很好的實(shí)現(xiàn)方式
1、在線網(wǎng)站 2、在構(gòu)建階段使用nodejs實(shí)現(xiàn)文件合并(就看使用什么樣的構(gòu)建工具了, 如果使用Gulp就可以使用Gulp相關(guān)插件進(jìn)行合并。 webpack配置entry及output。webpack本身機(jī)制就會(huì)根據(jù)入口文件進(jìn)行相關(guān)文件依賴的分析, 從而將這個(gè)文件入口所依賴的文件自動(dòng)打成一個(gè)包)最好結(jié)合構(gòu)建工具進(jìn)行壓縮
減少http請(qǐng)求數(shù)量
減少請(qǐng)求資源的大小
總結(jié)
以上是生活随笔為你收集整理的代码合并工具_资源合并与压缩的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows服务 FLEXnet Li
- 下一篇: 本地Vue代理HTTPS接口