Webpack 4之后,很多配置都简化了,整体基本使用并不复杂。在这种配置并不复杂的前提下,对它的掌握主要看能否理解它的工作机理和原理。 将Webpack工作模式设置为none,这样Webpack会以原始状态打包,得到的代码更容易理解和阅读。 (VSCode中折叠代码的快捷键是Ctrl+K,Ctrl+0)整体生成的代码实际上是一个立即执行函数。这个函数是Webpack Bootstrap,它接收一个modules参数,并在被调用时传入一个数组。 展开这个数组,里面的元素的函数就对应了我们源代码中的模块,也就是说每个模块最后都被包裹在这样一个函数中,从而实现了模块的私有范围来执行Webpack工作入口函数(我在注释旁边加了一点翻译)。首先,定义一个installedModules对象来存储或缓存加载的模块。然后定义一个require函数(这个函数用来加载模块),然后在require函数上挂载少量剩余的数据和工具函数。 这个函数执行结束,调用require函数,传入的模块id为0,模块开始加载。 模块id实际上是模块数组的元素下标,也就是说源代码中所谓的入口模块就是从这里开始加载的。 最后,如果想更好地理解包结果的执行过程,可以运行到浏览器中,通过开发者工具进行调试。