第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

前端體驗(yàn)優(yōu)化tree-shaking

標(biāo)簽:
Html5

tree-shaking介绍

Tree-shaking 字面意思就是 摇晃树, 其实就是去除那些引用的但却没有使用的代码

前提

想要代码配置tree-shaking,必须采用es6的模块语法,因为es6的模块采用的是静态分析,也就是从字面量对代码进行分析。之前的require是动态分析,必须代码执行到才知道引用的什么模块。

设置方式

  • 一、.babelrc 中添加
 "presets": [
    [
      "es2015", {
        "modules": false,
      }
    ],
    "stage-2"
  ],

或者在babel loader中的options里面添加同样的代码。
这个设置的作用是表示不对es6进行处理。

一定要注意是配置es2015的选项,而不是env之类的,否则没有用。

  • 二、使用uglifyjs-webpack-plugin,使用时非常简单
plugins: [
    new UglifyJsPlugin(),
...
]

效果

最大代码文件app.js代码大小需要由82k压缩到74k,压缩比例为12%。
gzip 之后由28k减少为27k

注意:

  • 网上那些乱七八糟的插件一点用没有,例如webpack-deep-scope-plugin。
  • 尽量不要在自己项目的package.json中添加"sideEffects": false

sideEffects: false 的意思并不是我这个模块真的没有副作用(一个函数会、或者可能会对函数外部变量产生影响的行为),而只是为了在摇树时告诉 webpack:我这个包在设计的时候就是期望没有副作用的,即使他打完包后是有副作用的,webpack 同学你摇树时放心的当成无副作用包摇就好啦!显然在不能确保的情况下,很容易就把项目摇挂了,所以要慎用!

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消