在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ 為什么Webpack生成JavaScript代碼要引入eval模式

為什么Webpack生成JavaScript代碼要引入eval模式

最近在看Webpack的生成的JavaScript,有一個(gè)疑問(wèn)想不明白:為什么Webpack要提供eval的模式,將模塊的generated code用eval來(lái)包裹?

這里的討論不僅限于devtooleval,還包括eval-source-map, cheap-eval-source-map等各種包含了eval的衍生組合。如果說(shuō)eval的好處是build速度快,因?yàn)樗簧蓅ource map,那類(lèi)似于eval-source-map這樣的呢?

所以我的疑問(wèn)并不在于source map,而是eval本身。既然它如此被詬病,為什么Webpack還是要引入這樣一種代碼生成機(jī)制,它究竟有什么好處?

回答
編輯回答
筱饞貓

goto也被詬病,但你仍然可以在C/C++中使用goto。

真正被詬病的不是eval,而且eval的濫用。如果你確認(rèn)拿到的代碼是你自己的(或任何你信任的),用eval是完全可以接受的,而且可以享受到速度快的好處。

2018年2月16日 21:16
編輯回答
挽青絲

贊同代碼宇宙的答案,js還有一個(gè)不建議使用的關(guān)鍵詞是with,但是vue源碼中模板渲染那里就有用with,這樣確實(shí)讓代碼看起來(lái)更簡(jiǎn)單,更清晰。eval也是同理,避免濫用,但是你可以確定的地方使用會(huì)有更方便的體驗(yàn)。

2018年3月14日 08:32