日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

大廠喜歡問(wèn)的TreeShaking到底是啥?好在哪呢?五分鐘弄懂!

來(lái)源: 責(zé)編: 時(shí)間:2024-03-28 09:26:40 218觀看
導(dǎo)讀背景大家平時(shí)在查 webpack構(gòu)建體積優(yōu)化 ,可能都會(huì)查到 tree-shaking 這個(gè)東西,很多人看到這個(gè)東西,就會(huì)把它背下來(lái),用來(lái)應(yīng)付以后面試官可能會(huì)問(wèn)到的情況。但是,又有多少人去真的了解一下 tree-shaking 呢?自己去實(shí)踐一下看

背景

大家平時(shí)在查 webpack構(gòu)建體積優(yōu)化 ,可能都會(huì)查到 tree-shaking 這個(gè)東西,很多人看到這個(gè)東西,就會(huì)把它背下來(lái),用來(lái)應(yīng)付以后面試官可能會(huì)問(wèn)到的情況。lgc28資訊網(wǎng)——每日最新資訊28at.com

但是,又有多少人去真的了解一下 tree-shaking 呢?自己去實(shí)踐一下看 tree-shaking 到底起了哪些作用?對(duì)于我們的打包體積的優(yōu)化又有多少呢?lgc28資訊網(wǎng)——每日最新資訊28at.com

有啥用?

Tree Shaking中文含義是搖樹(shù),在webpack中指的是打包時(shí)把無(wú)用的代碼搖掉,以優(yōu)化打包結(jié)果。lgc28資訊網(wǎng)——每日最新資訊28at.com

而webpack5已經(jīng)自帶了這個(gè)功能了,當(dāng)打包環(huán)境為production時(shí),默認(rèn)開(kāi)啟tree-shaking功能。lgc28資訊網(wǎng)——每日最新資訊28at.com

實(shí)踐

前置準(zhǔn)備

準(zhǔn)備兩個(gè)文件main.js、util.jslgc28資訊網(wǎng)——每日最新資訊28at.com

  • util.js
function a () {  console.log('a')}function b () {  console.log('b')}export default {  a, b}
  • main.js
import a from './util'// 使用a變量,調(diào)用文件里面的a函數(shù),不使用b函數(shù)console.log(a.a())console.log('hello world')// 不可能執(zhí)行的代碼if (false) {  console.log('haha')}// 定義了但是沒(méi)用的變量const m = 1

打包

前面說(shuō)了webpack5在環(huán)境production下打包的話,默認(rèn)開(kāi)啟tree-shaking,那我們運(yùn)行npm run build進(jìn)行一下打包,看看打包后的代碼長(zhǎng)啥樣:lgc28資訊網(wǎng)——每日最新資訊28at.com

(()=>{"use strict";const o=function(){console.log("a")};console.log(o())console.log("hello world")})();

結(jié)論:可以看到打包后,把b函數(shù)、不可能執(zhí)行的代碼、定義未用的變量通通都剔除了,這在一個(gè)項(xiàng)目中,能減少很多的代碼量,進(jìn)而減少打包后的文件體積。lgc28資訊網(wǎng)——每日最新資訊28at.com

sideEffects

副作用

先來(lái)講講一個(gè)東西——副作用,是什么東西呢?副作用指的是:除了導(dǎo)出成員之外所做的事情,我舉個(gè)例子,下面的a.js是沒(méi)副作用的,b.js是有副作用的:lgc28資訊網(wǎng)——每日最新資訊28at.com

  • a.js
function console () {  console.log('console')}export default {  console}
  • b.js
function console () {  console.log('console')}// 這個(gè)就是副作用,會(huì)影響全局的數(shù)組Array.prototype.func = () => {}export default {  console}

有無(wú)副作用的判斷,可以決定tree-shaking的優(yōu)化程度,舉個(gè)例子:lgc28資訊網(wǎng)——每日最新資訊28at.com

  • 我現(xiàn)在引入a.js但是我不用他的console函數(shù),那么在優(yōu)化階段我完全可以不打包a.js這個(gè)文件。
  • 我現(xiàn)在引入b.js但是我不用他的console函數(shù),但是我不可以不打包b.js這個(gè)文件,因?yàn)樗懈弊饔茫荒懿淮虬?/li>

sideEffects的使用

sideEffects可以在package.json中設(shè)置:lgc28資訊網(wǎng)——每日最新資訊28at.com

// 所有文件都有副作用,全都不可 tree-shaking{ "sideEffects": true}// 沒(méi)有文件有副作用,全都可以 tree-shaking{ "sideEffects": false}// 只有這些文件有副作用,// 所有其他文件都可以 tree-shaking,// 但會(huì)保留這些文件{ "sideEffects": [  "./src/file1.js",  "./src/file2.js" ]}

優(yōu)化體積

當(dāng)我把sideEffects設(shè)置成true之后,整個(gè)打包體積增加了100k,說(shuō)明默認(rèn)的false還是有用的。。lgc28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-79983-0.html大廠喜歡問(wèn)的TreeShaking到底是啥?好在哪呢?五分鐘弄懂!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 我們一起深入理解Flink State

下一篇: 高并發(fā)輕松應(yīng)對(duì):.NET Core實(shí)戰(zhàn)解析異步配置提高并發(fā)響應(yīng)

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美乱在线观看| 91久久在线观看| 欧美电影资源| 麻豆91精品| 欧美jizz19hd性欧美| 免费成人在线视频网站| 免费看亚洲片| 欧美韩日亚洲| 欧美日韩中字| 国产精品久久国产三级国电话系列| 国产精品久久久久久久久久直播 | 亚洲三级国产| 日韩天堂av| 亚洲一区二区三| 欧美伊久线香蕉线新在线| 久久久精品一区| 欧美成人午夜剧场免费观看| 国产精品高潮久久| 欧美三级中文字幕在线观看| 国产在线视频欧美| 尤物精品国产第一福利三区 | 久久久亚洲成人| 免费成人av在线看| 欧美不卡在线| 国产精品高清在线观看| 国产欧美日韩一区二区三区在线| 在线免费观看成人网| 亚洲欧洲在线视频| 日韩午夜剧场| 欧美一区二区三区婷婷月色 | 日韩一本二本av| 欧美专区第一页| 欧美大片专区| 国产麻豆午夜三级精品| 亚洲国产高清一区二区三区| 亚洲免费中文字幕| 欧美在线观看一区| 久久综合伊人77777| 欧美日韩中文在线观看| 国产亚洲成av人在线观看导航 | 欧美日韩亚洲视频一区| 国产日韩精品久久| 激情懂色av一区av二区av| 亚洲日本欧美天堂| 中文一区字幕| 免费成人黄色片| 国产精品日本精品| 国内精品国语自产拍在线观看| 亚洲精品视频中文字幕| 欧美在线视频观看免费网站| 欧美三日本三级少妇三2023| 一区二区视频免费完整版观看| 亚洲永久网站| 欧美激情无毛| 国内视频精品| 亚洲午夜精品网| 欧美成人精品一区二区三区| 国内偷自视频区视频综合| 一区二区免费在线观看| 久久一区二区三区av| 国产精品久久综合| 永久免费视频成人| 中文av一区特黄| 女人色偷偷aa久久天堂| 国产视频精品网| 中文在线资源观看网站视频免费不卡| 麻豆视频一区二区| 国产精品福利久久久| 亚洲韩国日本中文字幕| 久久精品欧美| 国产精品一级二级三级| 日韩亚洲精品视频| 久久av一区二区三区亚洲| 欧美香蕉视频| 亚洲精品黄色| 免费黄网站欧美| 国产亚洲视频在线观看| 亚洲欧美电影院| 欧美日韩性生活视频| 亚洲品质自拍| 男女av一区三区二区色多| 国产欧美69| 亚洲淫性视频| 欧美网站在线观看| 在线看片成人| 久久午夜影视| 黑人中文字幕一区二区三区| 久久精品1区| 国产亚洲美州欧州综合国| 中文在线资源观看网站视频免费不卡| 欧美午夜电影完整版| 一本大道av伊人久久综合| 欧美激情视频一区二区三区不卡| 亚洲精品国产欧美| 久久九九久精品国产免费直播| 国内精品视频666| 久久精品噜噜噜成人av农村| 国内视频精品| 久久阴道视频| 亚洲国产精品嫩草影院| 牛人盗摄一区二区三区视频| 亚洲精品系列| 欧美激情一区二区三区全黄| 亚洲最新在线| 欧美午夜视频在线| 亚洲精品一区二区三区福利| 欧美日韩视频在线| 亚洲精品视频在线观看网站| 欧美三级乱码| 亚洲欧美日本精品| 欧美视频在线观看 亚洲欧| 亚洲在线中文字幕| 欧美视频精品在线| 日韩一区二区高清| 欧美激情小视频| 日韩视频不卡中文| 欧美国产激情| 一本一道久久综合狠狠老精东影业| 国产精品第一区| 午夜激情久久久| 国产综合网站| 免费av成人在线| 日韩午夜视频在线观看| 欧美日韩一区在线播放| 亚洲一区二区三区中文字幕| 国产一区成人| 欧美+日本+国产+在线a∨观看| 亚洲视频一区在线观看| 国产女人精品视频| 久久福利一区| 亚洲国产精品传媒在线观看| 欧美日韩一区在线观看视频| 欧美在线一二三区| 国产综合视频在线观看| 欧美mv日韩mv国产网站| 一区二区日韩| 韩国av一区| 欧美激情欧美激情在线五月| 先锋a资源在线看亚洲| 在线精品亚洲一区二区| 欧美精选午夜久久久乱码6080| 亚洲欧美国产日韩中文字幕| 亚洲春色另类小说| 欧美二区不卡| 亚洲欧美日韩区| 亚洲电影免费在线观看| 欧美午夜在线| 久久久久久久尹人综合网亚洲| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲欧洲日本在线| 欧美午夜视频网站| 欧美日韩性生活视频| 欧美日本一区二区高清播放视频| 一区二区三区欧美亚洲| 国产精品久久久久久久久免费桃花 | 欧美日韩在线视频一区二区| 午夜天堂精品久久久久| 黑人操亚洲美女惩罚| 免费欧美日韩| 亚洲网在线观看| 黄色成人免费网站| 免费成人av在线| 亚洲一区二区三区精品视频| 尤物yw午夜国产精品视频| 亚洲欧美国内爽妇网| 午夜精品av| 久久精品一区四区| 久久国产精品72免费观看| 久久噜噜噜精品国产亚洲综合| 国产精品一区二区a| 欧美亚洲一区二区在线观看| 女人天堂亚洲aⅴ在线观看| 国产精品video| av72成人在线| 欧美日韩亚洲国产一区| 在线亚洲高清视频| 久久riav二区三区| 欧美激情片在线观看| 欧美三区美女| 欧美三级不卡| 亚洲国产精品视频一区| 国产精品影视天天线| 欧美国产激情二区三区| 欧美在线国产| 亚洲视频在线看| 亚洲国产精品综合| 国产精品久久久久久影院8一贰佰| 欧美极品在线播放| 欧美一区二区三区的| 宅男噜噜噜66一区二区| 亚洲国产婷婷综合在线精品| 伊人久久大香线蕉综合热线| 韩曰欧美视频免费观看| 国产精品欧美一区二区三区奶水 | 欧美在线一区二区| 亚洲精品视频二区| 国产一区二区日韩| 欧美日韩一区国产| 蜜桃av一区二区| 久久久久9999亚洲精品| 欧美一区二区三区电影在线观看| 亚洲——在线| 在线一区二区视频| 亚洲国产女人aaa毛片在线|