
居玉皓
这是一本讲解如何使用Webpack构建现代Web应用的著作。第1版豆瓣评分8.6,京东和当当好评率近99.9%,是前端领域的畅销书,被读者公认为是Webpack领域的标准性著作。全书围绕Webpack的功能特性、工作原理、性能优化、项目实战4个维度展开,从基本的使用场景到复杂的应用实例,再到系统性的优化,由浅入深讲解Webpack的各个特性,同时剖析其背后的工作原理,让读者能零基础快速掌握Webpack并轻松实现进阶。作者是资深的前端技术专家,是知名开源打包工具YKit的主导者和核心开发者,也是Webpack坚定不移的布道者。本书内容全部来自作者的实战经验,尽量避开了网络上已经发表的各种公开资料,思路简洁、深入,原理与实操并重。与第1版相比,第2版做了如下更新:(1)结合Webpack的技术,对全书内容进行了更新;(2)收集并分析了读者对第1版的反馈,完善了第1版的不足之处;(3)新增了分析Webpack打包原理的章节;(4)新增了2个关于React和Vue的综合案例。相比第1版,第2版内容更新、更全、更深入,实战性更强。
🔝提高 Webpack 构建的项目的性能⚡️ 构建速度方面:可以合理运用缓存,像开启 loader 缓存以及利用 Webpack 持久化缓存,能避免重复编译;多进程打包可借助 thread-loader,让计算密集型的 loader 利用多核 CPU 并行处理,加快速度;还可通过配置 resolve.modules 与 resolve.extensions,缩小文件搜索范围。 打包产物优化:对代码进行分割,入口起点分割、动态导入以及借助 SplitChunksPlugin,能按需拆分代码、提取公共模块,避免代码冗余;压缩代码上,生产环境用 terser-webpack-plugin 压缩 JavaScript、css-minimizer-webpack-plugin 压缩 CSS;图片优化则可依靠 image-webpack-loader 对各类图片格式进行压缩处理。
本书的逻辑还是很清晰的,适合新手入门。 只是前期的样例代码中,一会使用commonjs模块,一会使用es模块,对于我这个模块系统概念零基础的读者造成了一些困扰,因为跟着书中的步骤走,但最终会编译失败,好在现在有AI进行快速答疑。 前面跟着作者在尝试着书写配置,并且我clone了webpack的源码,边看源码边调试。前期是一脸懵逼的,不知道我到底在配置什么,我的配置到底有什么用,我的配置对应的源码执行点在哪里等等。读到原理章节的时候才恍然大悟,原来一切根源都在于webpack灵活的生命周期钩子和插件化思想(架构思想是语言无关的),然后一下就通了。学习webpack源码,主要关注点就在于Compiler等核心组件对象有哪些Hook钩子,以及webpack自身实现了哪些Plugin插件,每个插件都在给哪些钩子注册哪些回调函数,慢慢就学会了如何使用webpack进行构建了。 最后,从读者对构建工具的社区调研了解来看,webpack应该是最具通用性和灵活性的构建工具了,它的能力就好比gradle(我是java后端出身)。
基础概念讲解的比官网清晰,后面涉及到热替换等高级概念就有点水了,还是面向新手的原因吧,新手确实大都用不上这些
我觉得需要入门webpack的学习者还是直接阅读官网吧,这本书已经有太多过时的内容了,保守估计50%的代码无法在当下这个环境中使用,很多plugin/loader写法都过时了,都被废弃了。不建议阅读。
第一章就运行不过,devServer publicPath 变量在哪里。哎,垃圾书?
本书最大的亮点在于"实战导向"的编写思路。不同于单纯罗列API文档的教程,作者通过大量真实项目场景案例,将Webpack的配置、插件、Loader等抽象概念具象化。例如,书中详细演示了如何为Vue、React等主流框架配置开发环境,如何处理CSS预处理器、图片资源,以及如何通过SplitChunksPlugin进行代码分割优化。这种"以用带学"的方式,让读者在解决实际问题的过程中掌握工具精髓,避免了"学完就忘"的困境。 在进阶内容上,本书深入探讨了性能优化和构建调优这一前端工程化的核心痛点。从Tree Shaking、缓存策略到构建速度分析,作者不仅提供了配置方法,更解释了背后的原理和最佳实践。特别是针对大型项目的构建优化方案,如DLL、多线程构建等高级技巧,都有详尽的代码示例和性能对比数据,具有很高的参考价值。 不过,本书对完全零基础的读者可能稍显陡峭,建议先具备一定的JavaScript和Node.js基础再阅读。此外,部分高级配置的调试技巧篇幅有限,需要读者在实践中进一步探索。 总体而言,这是一本结构清晰、案例丰富、实用性强的工具书,适合有一定前端开发经验、希望系统掌握Webpack或提升工程化能力的开发者。
本书出版日期是2022年5月,实际上是2019年第一版的更新,但实际内容更新并不大。甚至能从书中示例截图中看到,所用webpack版本为3。到本书出版时webpack5已经发布一年半左右,但没有介绍webpack5推出的一些新特性。相比19年第一版,更新了一些和框架的结合,介绍了时下流行的构建工具,但也都浅尝辄止。整体来说,放在2019年来说,够用,放在2022年出版,诚意不够。
本书14.2万字,花了7小时22分钟读完,基本用一周的空闲时间就可以阅读完。 书的内容较简单,主要是沿着用webpack搭建前端项目这条脉络,一步步的介绍webpack的各个功能点,从entry、output这种基本配置,到loader、plugin这些辅助功能,再到生产环境代码优化等较高阶的功能,作者会根据书中每个章节,给出各个知识点的案例,并且书中的代码都是可以复制的代码块,不仅样式美观,而且非常方便读者复制代码块,以上几个方面皆为好评。 不过碍于篇幅的限制以及webpack本身体系的庞大,书中没法说清框架的很多细节,大部分内容只是简单的阐述一下框架要如何配置,配置完了会有什么效果,对于很多原理性的东西,还需要读者从自身能力出发,带着问题阅读本书,针对不清楚的点查阅资料解开疑惑,如此这般,前端水平应该能更上一个台阶。 由于本书的内容比较浅显,特别适合还没有前端工程经验的小白或者是使用webpack搭建过前端项目的初级开发者阅读,当然如果是老司机,仍然可以将本书作为复习材料,通过案例快速复习webpack知识。
作者没有提各种插件的版本,最后发现书上的配置没办法直接使用,需要查找最新版的文档核对才行。所以后续看此书的读者,一定要看看最新依赖包和配置的文档
内容适合初学者,部分内容不够严谨,有些错误,原理讲解不够深入,不过整体上还是适合有一定使用经验,对webpack不太了解的初学者。