13.【前端】webpack 代碼分片

optimization.SplitChunks

optimization.SplitChunks(簡稱 SplitChunks)是 webpack 4 為了改進CommonsChunkPlugin 而重新設計和實現(xiàn)的代碼分片特性。它不僅比 CommonChunkPlugin 功能更加強大逗爹,還更簡單易用亡嫌。
直接上配置:

const path = require('path')
module.exports = {
    entry: {
        app: './src/index.js',
        foo:'./src/foo.ts',
        bar:'./src/bar.ts'
    },
    output: {
        filename: '[name]@[chunkhash:8].js',
        chunkFilename:'[name]@[chunkhash:8].js',
        path: path.join(__dirname, 'dist')
    },
    mode: 'development',
    optimization:{
        splitChunks:{
            chunks: "all"
        }
    },
    devServer: {
        publicPath: "/dist/",
        port: 3000
    }
}

使用 optimization.splitChunks 替代了 CommonChunkPlugin,并指定了 chunks 的值為 all掘而,這個配置項的含義是挟冠,SplitChunks 將會對所有的 chunks 生效(默認情況下,SplitChunks 只對異步 chunks 生效袍睡,并且不需要配置)知染。

import()

import 函數(shù)是從 webpack 2 開始引入的異步加載方式,與正常 ES6 中的 import 語法不同斑胜,通過 import 函數(shù)加載的模塊及其依賴會被異步的加載控淡,并返回一個 Promise 對象嫌吠。

// foo.js
import('./bar.js').then(({add}) = > {
    console.log(add(2,3))
})

// bar.js
export function add(a,b){
    return a + b
}

首屏加載的 JS 資源地址是通過頁面中的 script 標簽來指定的,而間接資源(通過首屏 JS 再進一步加載的 JS)的位置則要通過 output.publicPath 來指定掺炭。上面我們的 import 函數(shù)相當于使 bar.js 成為了一個間接資源辫诅,我們需要配置 publicPath 來告訴 Webpack 去哪里獲取它。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末竹伸,一起剝皮案震驚了整個濱河市泥栖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌勋篓,老刑警劉巖吧享,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異譬嚣,居然都是意外死亡钢颂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門拜银,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殊鞭,“玉大人,你說我怎么就攤上這事尼桶〔俨樱” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵泵督,是天一觀的道長趾盐。 經(jīng)常有香客問我,道長小腊,這世上最難降的妖魔是什么救鲤? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮秩冈,結果婚禮上本缠,老公的妹妹穿的比我還像新娘。我一直安慰自己入问,他們只是感情好丹锹,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芬失,像睡著了一般卷仑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麸折,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音粘昨,去河邊找鬼垢啼。 笑死,一個胖子當著我的面吹牛芭析,可吹牛的內容都是我干的锚扎。 我是一名探鬼主播馁启,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惯疙!你這毒婦竟也來了?” 一聲冷哼從身側響起霉颠,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤对碌,失蹤者是張志新(化名)和其女友劉穎蒿偎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诉位,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年苍糠,在試婚紗的時候發(fā)現(xiàn)自己被綠了叁丧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椿息。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡歹袁,死狀恐怖,靈堂內的尸體忽然破棺而出寝优,到底是詐尸還是另有隱情条舔,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布乏矾,位于F島的核電站孟抗,受9級特大地震影響,放射性物質發(fā)生泄漏钻心。R本人自食惡果不足惜凄硼,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捷沸。 院中可真熱鬧摊沉,春花似錦、人聲如沸痒给。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尼斧,卻和暖如春姜贡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背棺棵。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工楼咳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烛恤。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓母怜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親棒动。 傳聞我的和親對象是個殘疾皇子糙申,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內容