webpack優(yōu)化-緩存

解決方案

生成manifest文件

module.exports = {
    entry: {
        app: './js/app.js',
        vendor: ['./js/moduleA', './js/moduleB']
    },
    output: {
        path: path.resolve(__dirname, './dist/js'), //編譯到當(dāng)前目錄曹铃,這個(gè)目錄要求要絕對(duì)路徑
        filename: '[name].[chunkhash].js', //編譯后的文件名字
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            names: ['vendor', 'manifest']     
        })
    ]
};

每次構(gòu)建時(shí)饵史,webpack 生成了一些 webpack runtime 代碼盒延,用來幫助 webpack 完成其工作校翔。當(dāng)只有一個(gè) bundle 的時(shí)候踱稍,runtime 代碼駐留在其中曲饱。但是當(dāng)生成多個(gè) bundle 的時(shí)候,運(yùn)行時(shí)代碼被提取到了公共模塊中珠月,在這里就是 vendor 文件扩淀。這些runtime代碼會(huì)影響vendor的hash。因此:

我們將運(yùn)行時(shí)代碼( webpack runtime)提取到一個(gè)單獨(dú)的 manifest 文件中桥温,使得這些代碼不會(huì)影響vendor的hash引矩。
※ output的filename要用chunkhash梁丘,如果用hash是不會(huì)有效果的
※ 不一定命名為manifest侵浸,取名任意

問題:打包后的文件帶有hash旺韭,如何在html中正確引用?

1掏觉、使用webpack-manifest-plugin從webpack編譯統(tǒng)計(jì)中獲取文件名

var ManifestPlugin = require('webpack-manifest-plugin');
module.exports = {
    entry: {
        app: './js/app.js',
        vendor: ['./js/moduleA', './js/moduleB']
    },
    output: {
        path: path.resolve(__dirname, './dist/js'), //編譯到當(dāng)前目錄区端,這個(gè)目錄要求要絕對(duì)路徑
        filename: '[name].[chunkhash].js', //編譯后的文件名字
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            names: ['vendor', 'manifest']     //將公共模塊提取,生成名為‘verdors’的chunk
        }),
        new ManifestPlugin({
            fileName: 'my-manifest.json'
        })
    ]
};

生成my-manifest.json

{
  "app.js": "app.155567618f4367cd1cb8.js",
  "vendor.js": "vendor.c2330c22cd2decb5da5a.js"
}

最后怎么在html中用到還不清楚

2澳腹、使用html-webpack-plugin

var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
    entry: {
        app: './js/app.js',
        vendor: ['./js/moduleA', './js/moduleB']
    },
    output: {
        path: path.resolve(__dirname, './dist/js'), //編譯到當(dāng)前目錄织盼,這個(gè)目錄要求要絕對(duì)路徑
        filename: '[name].[chunkhash].js', //編譯后的文件名字
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            names: ['vendor', 'manifest']     //將公共模塊提取,生成名為‘verdors’的chunk
        }),
        new HtmlWebpackPlugin({ 
            filename: 'index.html',
            template: './index.html'
        })
    ],
    resolve: {
        extensions: ['.js', '.jsx', '.less', '.scss', '.css'], //后綴名自動(dòng)補(bǔ)全
    }
};

會(huì)在output指定的目錄中生成html酱塔,并自動(dòng)引用對(duì)應(yīng)的模塊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沥邻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子羊娃,更是在濱河造成了極大的恐慌唐全,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蕊玷,死亡現(xiàn)場(chǎng)離奇詭異邮利,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)垃帅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門延届,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贸诚,你說我怎么就攤上這事方庭。” “怎么了酱固?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵二鳄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我媒怯,道長(zhǎng)订讼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任扇苞,我火速辦了婚禮欺殿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鳖敷。我一直安慰自己脖苏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布定踱。 她就那樣靜靜地躺著棍潘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亦歉,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天恤浪,我揣著相機(jī)與錄音,去河邊找鬼肴楷。 笑死水由,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赛蔫。 我是一名探鬼主播砂客,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼呵恢!你這毒婦竟也來了鞠值?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤渗钉,失蹤者是張志新(化名)和其女友劉穎齿诉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晌姚,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粤剧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挥唠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵恋。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖宝磨,靈堂內(nèi)的尸體忽然破棺而出弧关,到底是詐尸還是另有隱情,我是刑警寧澤唤锉,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布世囊,位于F島的核電站,受9級(jí)特大地震影響窿祥,放射性物質(zhì)發(fā)生泄漏株憾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一晒衩、第九天 我趴在偏房一處隱蔽的房頂上張望嗤瞎。 院中可真熱鬧,春花似錦听系、人聲如沸贝奇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掉瞳。三九已至毕源,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陕习,已是汗流浹背霎褐。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衡查,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓必盖,卻偏偏與公主長(zhǎng)得像拌牲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子歌粥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容