为什么Webpack生成JavaScript代码要引入eval模式
最近在看Webpack的生成的JavaScript，有一个疑问想不明白：为什么Webpack要提供`eval`的模式，将模块的generated code用`eval`来包裹？
这里的讨论不仅限于`devtool`是`eval`，还包括`eval-source-map`, `cheap-eval-source-map`等各种包含了`eval`的衍生组合。如果说`eval`的好处是build速度快，因为它不生成source map，那类似于`eval-source-map`这样的呢？
所以我的疑问并不在于source map，而是`eval`本身。既然它如此被诟病，为什么Webpack还是要引入这样一种代码生成机制，它究竟有什么好处？
goto也被诟病，但你仍然可以在C/C++中使用goto。
真正被诟病的不是eval，而且eval的滥用。如果你确认拿到的代码是你自己的（或任何你信任的），用eval是完全可以接受的，而且可以享受到速度快的好处。