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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

紫衣仙女 2018-07-17 23:05:54
哇?。。?!我仔仔細細的看了 webpack > v4.16.0 > 文檔 > 指南 > Tree Shaking 中對于sideEffects的介紹,不管是按他文檔表面的意思還是結(jié)合上下文來看 sideEffects這個屬性都好像是用來裁剪未引入的代碼(就是文中提示的死代碼),比如下面://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();當打包后 按理輸出代碼中不再包含 b函數(shù)的相關(guān)代碼, 但是"sideEffects":false并沒有什么卵用,還是所有代碼都被打包,反而如果想去掉b代碼,只要 mode: "development" 就行!所以。。。。。。這sideEffects到底是個啥玩意?到底有啥用?到底什么場景用?還有就是這玩意要設(shè)置在模塊的package.json中,并且webpack文檔也說這是個庫級設(shè)置,那是不是這玩意只能由模塊的作者來設(shè)置?我們設(shè)置也沒啥卵用,重裝模塊就沒了! 哇,困惑啊。。。。。
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

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

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


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

TA貢獻1820條經(jīng)驗 獲得超10個贊

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

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

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

通過 sideEffects 標記, 可以通知 webpack 使用一種更簡便高效的方式來實現(xiàn)代碼裁剪.


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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