最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于webpack4 sideEffects到底是什么?

關(guān)于webpack4 sideEffects到底是什么?

紫衣仙女 2018-07-17 23:05:54
哇?。。。∥易凶屑?xì)細(xì)的看了 webpack > v4.16.0 > 文檔 > 指南 > Tree Shaking 中對(duì)于sideEffects的介紹,不管是按他文檔表面的意思還是結(jié)合上下文來(lái)看 sideEffects這個(gè)屬性都好像是用來(lái)裁剪未引入的代碼(就是文中提示的死代碼),比如下面://index.js (這是node_modules 下 myplugin模塊,他包含index.js 和 package.json)function a(){'is a'};function b(){'is b'};export {a , b};//package.json{    "name":'myplugin',    "sideEffects":false}//main.jsimport {a} from 'myplugin'; a();當(dāng)打包后 按理輸出代碼中不再包含 b函數(shù)的相關(guān)代碼, 但是"sideEffects":false并沒(méi)有什么卵用,還是所有代碼都被打包,反而如果想去掉b代碼,只要 mode: "development" 就行!所以。。。。。。這sideEffects到底是個(gè)啥玩意?到底有啥用?到底什么場(chǎng)景用?還有就是這玩意要設(shè)置在模塊的package.json中,并且webpack文檔也說(shuō)這是個(gè)庫(kù)級(jí)設(shè)置,那是不是這玩意只能由模塊的作者來(lái)設(shè)置?我們?cè)O(shè)置也沒(méi)啥卵用,重裝模塊就沒(méi)了! 哇,困惑啊。。。。。
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

個(gè)人愚見(jiàn):"sideEffects":false只是告訴webpack找到了沒(méi)有用到的b代碼,真正要在bundle中刪除,其實(shí)要使用“UglifyJSPlugin”,用mode:"production"是能夠“激活”UglifyJSPlugin的,他的下一小節(jié)minify the output有講

如果想去掉b代碼,只要 mode: "development" 就行
不知道這個(gè)是著呢么搞出來(lái)的


查看完整回答
反對(duì) 回復(fù) 2018-07-20
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

sideEffects 是說(shuō)模塊內(nèi)有沒(méi)有立即執(zhí)行的代碼, 此類(lèi)代碼通常會(huì)產(chǎn)生副作用. 比如:

// a.js 文件// 副作用, 在 import a 時(shí)發(fā)生document.body.appendChild(document.createElement('div')); 

// 導(dǎo)出的模塊export default function foo() {};

通過(guò) sideEffects 標(biāo)記, 可以通知 webpack 使用一種更簡(jiǎn)便高效的方式來(lái)實(shí)現(xiàn)代碼裁剪.


查看完整回答
反對(duì) 回復(fù) 2018-07-20
  • 2 回答
  • 0 關(guān)注
  • 1726 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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