书籍详情

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

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

作者:居玉皓 著

出版社:机械工业出版社

出版时间:2022-03-01

ISBN:9787111702252

定价:¥99.00

购买这本书可以去
内容简介
  这是一本讲解如何使用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版内容更新、更全、更深入,实战性更强。
作者简介
  居玉皓资深前端开发工程师,目前就职于美国在线流媒体平台Tubi TV,曾就职于去哪儿网,负责前端基础架构的建设,并主导开发了知名的开源打包工具YKit。长期专注于前端构建领域,对Webpack有深入的研究,积累了丰富的实践经验,在国内为Webpack的发展和普及做了较多的努力和贡献。
目录
前言
第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 打包速度2
猜您喜欢

读书导航