新書推薦:
《
Android游戏开发从入门到精通 第2版 王玉芹
》
售價:NT$
495.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
非对称创新:中国企业赶超战略 魏江 刘洋
》
售價:NT$
495.0
《
潜能觉醒
》
售價:NT$
395.0
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
《
建安:官渡大决战(196—200)
》
售價:NT$
245.0
《
中亚民族史
》
售價:NT$
840.0
《
人工智能与智能制造:概念与方法 [美]马苏德·索鲁什 [美]理查德·D.布拉茨
》
售價:NT$
640.0
|
內容簡介: |
本书共5 章。第1、2 章系统介绍前端工程化的核心知识,包括Babel 7、ES 规范、Deno 开发入门、脚手架、自动化部署、Nginx、Jest 测试、Webpack 5、Vite、Rollup、Parcel 等。第3、4 章着重介绍前端架构的核心思想,包括前端核心模块的6 种常用设计模式、V8 引擎、宏任务与微任务、异步加载规范和函数式编程等。第5 章通过实战详细介绍如何从0 开发微前端和WebAssembly,帮助前端人员开拓视野。 本书系统介绍了前端开发的工程核心及前沿实战。相信无论是初级开发人员,还是具有丰富经验的中高级开发人员都能从本书中找到需要的内容,都能从阅读本书中有所收获。
|
關於作者: |
混迹前端多年,经历从前端的混沌初开、野蛮生长到前端的专业化开发。长期专注前端模块化开发、工程化实践和性能优化,长期关注框架React和Vue的实践。关注ECMAScript规范,有Java项目实践经验。同时对Docker、Go语言有浓厚的兴趣。个人网站(http://www.houyuewei.cn),GitHub(https://github.com/houyaowei)。微信公众号:开发365。
|
目錄:
|
第1章 前端开发核心及Deno Web实战 1
1.1 前端中的“大管家”package.json文件 1
1.1.1 生成package.json文件 2
1.1.2 name字段 3
1.1.3 version字段 4
1.1.4 OS配置和CPU配置 8
1.2 前端中的编译工具Babel 7 10
1.2.1 Babel中的4种配置文件 11
1.2.2 Babel的工作过程 13
1.2.3 @babel/polyfill插件 18
1.2.4 @babel/runtime插件和@babel/plugin-transform-runtime插件 19
1.2.5 preset配置 20
1.3 ES规范 20
1.3.1 ES2021规范 21
1.3.2 ES2020规范 23
1.3.3 ES2019规范 27
1.3.4 ES2018规范 28
1.3.5 ES2017规范 29
1.4 Deno Web实战 30
1.4.1 加载第三方包 36
1.4.2 创建服务器 36
1.4.3 Deno Web开发 37
第2章 前端工程化核心与构建工具实战 40
2.1 前端工程化概述 40
2.2 脚手架的实现方式 41
2.2.1 渲染过程 49
2.2.2 下载依赖 49
2.3 自动化部署 51
2.4 配置负载均衡Nginx 54
2.4.1 正向代理和反向代理 55
2.4.2 配置Nginx 55
2.4.3 配置反向代理 57
2.4.4 开启gzip压缩 58
2.4.5 支持WebSocket 58
2.4.6 图片防盗配置 59
2.5 Jest测试核心 60
2.5.1 Jest测试的基本功能 61
2.5.2 运行测试用例 62
2.5.3 setUp函数和tearDown函数 67
2.5.4 mock函数 68
2.5.5 测试覆盖率 72
2.6 前端文档 73
2.7 构建工具实战 78
2.7.1 “经典”Webpack 5的新特性 78
2.7.2 “新秀”Vite构建实战 92
2.7.3 小巧的Rollup实战 99
2.7.4 零配置的Parcel实战 104
第3章 前端核心模块的设计与实现 110
3.1 常用设计模式介绍 110
3.1.1 状态模式 110
3.1.2 策略模式 114
3.1.3 适配器模式 117
3.1.4 观察者模式 121
3.1.5 代理模式 126
3.1.6 装饰者模式 128
3.2 V8引擎 131
3.2.1 WebKit的架构 132
3.2.2 隐藏类 134
3.2.3 对象在内存中的表示 135
3.2.4 内存管理 137
3.3 宏任务和微任务 138
3.4 异步加载规范 147
3.4.1 前端模块规范:AMD和RequireJS 147
3.4.2 前端模块规范:CMD和SeaJS 149
3.4.3 前端模块规范:UMD 151
3.4.4 前端模块规范:ES6 module 152
3.4.5 前端模块规范:CommonJS 153
3.5 函数式编程入门 154
3.5.1 引子 155
3.5.2 函数式编程的优点 156
3.5.3 函数式编程的基础 157
3.6 实战:状态原理解析 160
第4章 性能优化指南 167
4.1 浏览器的运行机制 167
4.2 浏览器的缓存机制 176
4.3 性能分析 179
4.4 前端优化策略 186
4.4.1 图片优化和DOM优化建议 186
4.4.2 JavaScript代码优化建议 189
4.4.3 Webpack优化建议 199
4.4.4 使用HTTP/2 207
4.4.5 使用WebSocket 210
第5章 实战:从0开发微前端和WebAssembly 213
5.1 以天气为例实战PWA应用 213
5.2 基于single-spa的微前端实战 222
5.3 在Docker中部署前端应用 236
5.4 用WebAssembly提高前端性能 245
5.4.1 WebAssembly概述 245
5.4.2 WebAssembly案例 248
|
|