《Webpack实战 入门、进阶与调优 第2版》居玉皓

《Webpack实战 入门、进阶与调优 第2版》居玉皓 | PDF下载|ePub下载

Webpack实战 入门、进阶与调优 第2版 版权信息

  • 出版社:机械工业出版社
  • 出版时间:2022-03-01
  • ISBN:9787111702252
  • 条形码:9787111702252 ; 978-7-111-70225-2

Webpack实战 入门、进阶与调优 第2版 本书特色

适读人群 :本书的读者对象包括两类人:初中级前端开发者:这是本书的核心对象,通过本书可以学习到如何使用 Webpack 构建前端工程。从事前端工程化方面工作的开发者:通过本书可以学习到如何优化 Webpack 配置来更好地进行构建,提升开发效率。(1)作者是资深前端技术专家,知名开源打包工具YKit主导者和核心开发者,Webpack技术布道者 (2)第1版是前端领域畅销书,深受读者好评,被认为是Webpack领域的标准性著作 (3)从功能特性、工作原理、性能优化、项目实战4个维度全面展开,提供示例代码

Webpack实战 入门、进阶与调优 第2版 内容简介

这是一本讲解如何使用Webpack构建现代Web应用的著作。第1版豆瓣评分8.6,京东和当当好评率近99.9%,是前端领域的畅销书,被读者认可为是Webpack领域的标准性著作。全书围绕Webpack的功能特性、工作原理、性能优化、项目实战4个维度全面展开,从基本的使用场景到复杂的应用实例,再到系统性的优化,由浅入深讲解Webpack的各个特性,同时剖析其背后的工作原理,让读者能零基础快速掌握Webpack并轻松实现进阶。作者是资深的前端技术专家,是知名开源打包工具YKit的者和核心开发者,也是Webpack坚定不移的布道者。本书内容全部来自作者的实战经验,尽量避开了网络上已经发表的各种公开资料,思路简洁、深入,原理与实操并重。与第1版相比,第2版做了如下更新:(1)结合WebpackZ新的技术,对全书内容进行了全面更新;(2)收集并分析了读者对第1版的反馈,完善了第1版的不足之处;(3)新增了分析Webpack打包原理的章节;(4)新增了2个关于React和Vue的综合案例。相比第1版,第2版内容更新、更全、更深入,实战性更强。

Webpack实战 入门、进阶与调优 第2版 目录

第1章 Webpack简介1

1.1 何为Webpack1

1.2 为什么需要Webpack2

1.2.1 何为模块2

1.2.2 JavaScript中的模块3

1.2.3 模块打包工具4

1.2.4 为什么选择Webpack5

1.3 安装5

1.4 打包**个应用7

1.4.1 Hello World7

1.4.2 使用npm scripts9

1.4.3 使用默认目录配置10

1.4.4 使用配置文件10

1.4.5 webpack-dev-server13

1.5 本章小结15


第2章  模块打包17

2.1 CommonJS17

2.1.1 模块18

2.1.2 导出18

2.1.3 导入20

2.2 ES6 Module22

2.2.1 模块22

2.2.2 导出23

2.2.3 导入24

2.2.4 复合写法26

2.3 CommonJS与ES6 Module的区别26

2.3.1 动态与静态26

2.3.2 值复制与动态映射27

2.3.3 循环依赖29

2.4 加载其他类型的模块33

2.4.1 非模块化文件34

2.4.2 AMD34

2.4.3 UMD35

2.4.4 加载npm模块37

2.5 模块打包原理38

2.6 本章小结41


第3章 资源的输入和输出42

3.1 资源处理流程42

3.2 配置资源入口44

3.2.1 context44

3.2.2 entry45

3.2.3 实例47

3.3 配置资源出口50

3.3.1 filename50

3.3.2 path53

3.3.3 publicPath54

3.3.4 实例56

3.4 本章小结57


第4章 预处理器59

4.1 一切皆模块59

4.2 loader概述61

4.3 loader的配置63

4.3.1 loader的引入63

4.3.2 链式loader65

4.3.3 loader options65

4.3.4 更多配置66

4.4 常用loader介绍70

4.4.1 babel-loader70

4.4.2 ts-loader72

4.4.3 html-loader73

4.4.4 handlebars-loader73

4.4.5 file-loader74

4.4.6 url-loader77

4.5 自定义loader78

4.6 本章小结82


第5章 样式处理83

5.1 分离样式文件83

5.1.1 extract-text-webpack-plugin84

5.1.2 多样式文件的处理86

5.1.3 mini-css-extract-plugin88

5.2 样式预处理90

5.2.1 Sass与SCSS90

5.2.2 Less92

5.3 PostCSS93

5.3.1 PostCSS与Webpack93

5.3.2 自动前缀94

5.3.3 stylelint95

5.3.4 CSSNext96

5.4 CSS Modules98

5.5 本章小结99


第6章 代码分片100

6.1 通过入口划分代码100

6.2 CommonsChunkPlugin101

6.2.1 提取vendor104

6.2.2 设置提取范围105

6.2.3 设置提取规则106

6.2.4 hash与长效缓存108

6.2.5 CommonsChunkPlugin的不足110

6.3 optimization.SplitChunks111

6.3.1 从命令式到声明式113

6.3.2 默认的异步提取114

6.3.3 配置115

6.4 资源异步加载116

6.4.1 import()116

6.4.2 异步chunk的配置119

6.5 本章小结120


第7章 生产环境配置121

7.1 环境配置的封装121

7.2 开启production模式123

7.3 环境变量124

7.4 source-map125

7.4.1 source-map原理125

7.4.2 source-map配置126

7.4.3 source-map安全128

7.5 资源压缩129

7.5.1 压缩JavaScript129

7.5.2 压缩CSS131

7.6 缓存132

7.6.1 资源hash132

7.6.2 输出动态HTML133

7.6.3 使chunk id更稳定135

7.7 bundle体积监控和分析137

7.8 本章小结139


第8章 打包优化140

8.1 HappyPack140

8.1.1 工作原理141

8.1.2 单个loader的优化141

8.1.3 多个loader的优化143

8.2 缩小打包作用域144

8.2.1 exclude和include144

8.2.2 noParse145

8.2.3 IgnorePlugin146

8.2.4 缓存146

8.3 动态链接库与DllPlugin148

8.3.1 vendor配置149

8.3.2 vendor打包150

8.3.3 链接到业务代码151

8.3.4 潜在问题151

8.4 去除死代码153

8.4.1 ES6 Module154

8.4.2 使用Webpack进行依赖关系构建154

8.4.3 使用压缩工具去除死代码155

8.5 本章小结155


第9章 开发环境调优156

9.1 Webpack开发效率插件156

9.1.1 webpack-dashboard156

9.1.2 webpack-merge158

9.1.3 speed-measure-webpack-plugin161

9.1.4 size-plugin161

9.2 模块热替换163

9.2.1 开启HMR163

9.2.2 HMR原理165

9.2.3 HMR API示例167

9.3 本章小结169


第10章 Webpack打包机制170

10.1 总览170

10.2 准备工作171

10.3 缓存加载173

10.4 模块打包176

10.4.1 Compiler176

10.4.2 Compilation178

10.4.3 Resolver179

10.4.4 Module Factory180

10.4.5 Parser181

10.4.6 模板渲染183

10.5 深入Webpack插件184

10.5.1 Tapable185

10.5.2 插件的协同模式187

10.6 本章小结191


第11章 实战案例192

11.1 React应用192

11.1.1 基础配置192

11.1.2 JavaScript处理195

11.1.3 TypeScript处理197

11.1.4 样式处理199

11.1.5 静态资源201

11.1.6 多页应用公共代码优化202

11.1.7 长效缓存205

11.2 Vue应用206

11.2.1 手动搭建Vue项目206

11.2.2 通过@vue/cli搭建项目212

11.3 本章小结214


第12章 更多JavaScript打包工具215

12.1 Rollup215

12.1.1 配置216

12.1.2 Rollup去除死代码217

12.1.3 可选的输出格式218

12.1.4 使用Rollup构建JavaScript库219

12.2 Parcel219

12.2.1 打包速度220

12.2.2 零配置222

12.3  esbuild224

12.3.1 打包速度224

12.3.2 缺陷225

12.4 Vite225

12.4.1 取长补短225

12.4.2 打包流程优化226

12.5 打包工具的发展趋势227

12.5.1 性能与通用性227

12.5.2 配置极小化与工程标准化227

12.5.3 WebAssembly228

12.6 本章小结229

Webpack实战 入门、进阶与调优 第2版 作者简介

居玉皓 资深前端开发工程师,目前就职于美国在线流媒体平台Tubi TV,曾就职于去哪儿网,负责前端基础架构的建设,并主导开发了知名的开源打包工具YKit。 长期专注于前端构建领域,对Webpack有深入的研究,积累了丰富的实践经验,在国内为Webpack的发展和普及做了较多的努力和贡献。

下载地址:

《Webpack实战 入门、进阶与调优 第2版》居玉皓【benniaobook.org】.pdf

密码:2024 感谢您喜欢博主推荐此书,请支持购买正版。

备用下载地址:

链接2:点击下载 (百度网盘备用,解压密码: 8986)

链接3:点击下载 (UC网盘备用,解压密码: 8986)

链接4:点击下载 (迅雷网盘备用,解压密码: 8986)