摘要:代碼分離代碼分離是最受矚目的功能。下面有兩種代碼分離的技術(shù)。使用實(shí)現(xiàn)代碼分離是使用的方式實(shí)現(xiàn)靜待資源異步調(diào)用。通過(guò)添加,我們可以在代碼中打一個(gè)分離點(diǎn),可以以此建立一個(gè)獨(dú)立的包,包含這個(gè)點(diǎn)的所有代碼。
代碼分離(Code Splitting)
代碼分離是webpack最受矚目的功能。它允許你把你的代碼分成不同的部分分開(kāi)打包,然后實(shí)現(xiàn)在需要的時(shí)候再進(jìn)行加載(按需加載提高速度)————例如用戶(hù)導(dǎo)航到一個(gè)匹配的路由,或者一個(gè)用戶(hù)事件。
因此能夠減少打包的體積,控制家在流程次序,而且如果使用得當(dāng)會(huì)極大影響加載速度。
下面有兩種代碼分離的技術(shù)。(webpack實(shí)現(xiàn))
傳統(tǒng)的一些應(yīng)用以來(lái)一些第三方的庫(kù)或者功能,不同于應(yīng)用本身的代碼,這些第三方庫(kù)的代碼不是經(jīng)常變動(dòng)的。
如果我們把這些第三方的代碼放在一塊,從應(yīng)用代碼中分離出來(lái),這樣我們可以利用用戶(hù)的電腦的緩存機(jī)制來(lái)緩存這些需要長(zhǎng)時(shí)間存在的文件。
為了實(shí)現(xiàn)這個(gè)目的,給第三方的包打上指紋(hash)來(lái)保持不變,以區(qū)別應(yīng)用代碼的經(jīng)常變化。查看how to split vendor/library學(xué)習(xí)ChommonsChunkPlugin插件。
css 分離(css splitting)也許你想把你的css文件獨(dú)立出主應(yīng)用邏輯來(lái)打包。這個(gè)加強(qiáng)了你的緩存能力,實(shí)現(xiàn)styles和主應(yīng)用代碼并行下載,避免出現(xiàn)FOUC(flash of unstyled content也就是先下載了一大堆無(wú)樣式的文檔,然后渲染樣式的情況)
學(xué)習(xí)how to split css 使用ExtractTextWebpackPlugin.
按需分離(On demand code-splitting)然而剛開(kāi)始的那種資源代碼分離,要求我們?cè)谂渲弥懊鞔_設(shè)定分離點(diǎn),也可以在應(yīng)用代碼中動(dòng)態(tài)的創(chuàng)建異步分離點(diǎn)。
使用require.ensure()實(shí)現(xiàn)代碼分離(Code splitting with require.ensure())require.ensure()是使用CommonJS的方式實(shí)現(xiàn)靜待資源異步調(diào)用。通過(guò)添加require.ensure([
學(xué)習(xí)how to split code 使用require.ensure().
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/88153.html
摘要:瀏覽器需要重新下載打包后的文件,即使文件的絕大部分都沒(méi)有變化。分離并且以來(lái)命名新的入口能夠緩和當(dāng)前的問(wèn)題。現(xiàn)在運(yùn)行綁定的檢查結(jié)果是只是被綁定到這個(gè)綁定文件中。 分離庫(kù)代碼Code Splitting - Libraries 這個(gè)在webpack2.x中文網(wǎng)已存在,點(diǎn)擊這里 讓我們想一個(gè)簡(jiǎn)單的應(yīng)用——momentjs,他是一個(gè)事件格式化的庫(kù)。安裝moment. npm install -...
摘要:代碼分離使用中文文檔地址點(diǎn)擊這里動(dòng)態(tài)導(dǎo)入目前,類(lèi)函模塊加載的語(yǔ)法建議整體交給。在中的是個(gè)分離點(diǎn),用來(lái)把被請(qǐng)求的模塊獨(dú)立成一個(gè)單獨(dú)的模塊。被替代因?yàn)樵谥惺褂靡呀?jīng)不合建議規(guī)范,因此將在版本中啟用。 代碼分離-使用import() 中文文檔地址點(diǎn)擊這里 動(dòng)態(tài)導(dǎo)入 目前,類(lèi)函模import()塊加載的語(yǔ)法建議——syntax proposal整體交給ECMAScript。ES2015(es6)...
摘要:依賴(lài)管理該條已在中文網(wǎng)存在,點(diǎn)擊這里表達(dá)式來(lái)調(diào)用當(dāng)你的請(qǐng)求包含表達(dá)式,那個(gè)一個(gè)上下文環(huán)境將被創(chuàng)建。一個(gè)包含所有父文件夾和子及后代文件夾中以結(jié)尾的文件的上下文。一個(gè)函數(shù),返回一個(gè)數(shù)組,包含上下文模塊能夠處理的所有的請(qǐng)求。 依賴(lài)管理 Dependency Management 該條已在webpack2.x中文網(wǎng)存在,點(diǎn)擊這里 es6 modules commonjs amd 表達(dá)式...
摘要:公開(kāi)路徑該條已在中文網(wǎng)存在點(diǎn)擊這里有一個(gè)非常有用的設(shè)置,允許你設(shè)置一個(gè)所有資源的基礎(chǔ)路徑在你的應(yīng)用中。使用案例這里有有些實(shí)際應(yīng)用中的案例,其中它使用的非常靈活。 公開(kāi)路徑(pbulic path) 該條已在webpack2.x中文網(wǎng)存在,點(diǎn)擊這里 webpack有一個(gè)非常有用的設(shè)置,允許你設(shè)置一個(gè)所有資源的基礎(chǔ)路徑在你的應(yīng)用中。它叫做publicPath。 使用案例(Use cases...
摘要:出口影響編譯的輸出告訴怎樣編譯輸出的文件允許多個(gè)入口一個(gè)出口的情況。該選項(xiàng)實(shí)現(xiàn)跨域加載模塊可以的值是命名每個(gè)出口文件。不必明確絕對(duì)路徑。使用設(shè)置項(xiàng),設(shè)置具體位置。僅僅命名文件名字即可。 出口Output 影響編譯的輸出告訴webpack怎樣編譯輸出的文件允許多個(gè)入口一個(gè)出口的情況。 用法 const config = { output: bundle.js }; module.e...
閱讀 2786·2021-11-22 14:45
閱讀 2925·2021-09-10 11:26
閱讀 3231·2021-09-07 10:18
閱讀 2219·2019-08-30 14:08
閱讀 617·2019-08-29 12:22
閱讀 1393·2019-08-26 13:48
閱讀 2535·2019-08-26 10:24
閱讀 1150·2019-08-23 18:35