为什么Webpack生成JavaScript代码要引入eval模式

发布于 2022-09-06 23:24:38 字数 453 浏览 19 评论 0

最近在看Webpack的生成的JavaScript,有一个疑问想不明白:为什么Webpack要提供eval的模式,将模块的generated code用eval来包裹?

这里的讨论不仅限于devtooleval,还包括eval-source-map, cheap-eval-source-map等各种包含了eval的衍生组合。如果说eval的好处是build速度快,因为它不生成source map,那类似于eval-source-map这样的呢?

所以我的疑问并不在于source map,而是eval本身。既然它如此被诟病,为什么Webpack还是要引入这样一种代码生成机制,它究竟有什么好处?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸠书 2022-09-13 23:24:38

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

真正被诟病的不是eval,而且eval的滥用。如果你确认拿到的代码是你自己的(或任何你信任的),用eval是完全可以接受的,而且可以享受到速度快的好处。

败给现实 2022-09-13 23:24:38

赞同代码宇宙的答案,js还有一个不建议使用的关键词是with,但是vue源码中模板渲染那里就有用with,这样确实让代码看起来更简单,更清晰。eval也是同理,避免滥用,但是你可以确定的地方使用会有更方便的体验。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文