• 现代JavaScript库开发:原理、技术与实战
  • 现代JavaScript库开发:原理、技术与实战
21年品牌 40万+商家 超1.5亿件商品

现代JavaScript库开发:原理、技术与实战

30 2.8折 108 八五品

仅1件

北京朝阳
认证卖家担保交易快速发货售后保障

作者颜海镜

出版社电子工业出版社

出版时间2022-11

版次1

装帧其他

上书时间2024-10-21

书语书屋

十四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八五品
图书标准信息
  • 作者 颜海镜
  • 出版社 电子工业出版社
  • 出版时间 2022-11
  • 版次 1
  • ISBN 9787121445125
  • 定价 108.00元
  • 装帧 其他
  • 开本 16开
  • 页数 364页
  • 字数 437千字
【内容简介】
开发JavaScript库是入门前端领域的重要一步。本书旨在帮助前端开发者掌握现代JavaScript库的开发技术,让每个人都可以开源自己的现代JavaScript库。本书系统介绍了现代JavaScript库开发涉及的技术、原理和最佳实践,以及将库开源后如何做好维护工作。在最佳实战部分,本书选取了9个典型库作为案例,展示开发流程,代码清晰、完善。 本书既适合对现代JavaScript库开发及开源感兴趣的前端开发者阅读,也适合想要学习前端项目开发技术的初学者阅读。
【作者简介】
颜海镜,知名技术博主,微信公众号“颜海镜”作者。拥有十年以上开源经验,在GitHub上拥有关注者(followers)5100余名,维护了jsmini、jslib-base、template.js、zepto.fullpage等多个开源项目,获得了6500个以上的GitHub Star。具有多年一线大厂从业经验,曾先后就职于金山、百度、美团等知名企业,负责前端开发工作。著有《React状态管理与同构实战》。侯策,就职于某内容社区类互联网上市公司,具有多年海内外工作经验,曾先后就职于法国ENGIE集团、Google、百度等知名企业。擅长前端工程化体系搭建及基础建设架构设计。著有《React状态管理与同构实践》《前端开发核心知识进阶:从夯实基础到突破瓶颈》《前端架构师:基础建设与架构设计思想》等多部技术图书。
【目录】
目录

第1章  从零开发一个JavaScript库1

1.1  如何开始1

1.2  编写代码2

1.3  本章小结5

第2章  构建6

2.1  模块化解析6

2.1.1  什么是模块7

2.1.2  原始模块7

2.1.3  AMD8

2.1.4  CommonJS9

2.1.5  UMD9

2.1.6  ES Module10

2.2  技术体系解析11

2.2.1  传统体系12

2.2.2  Node.js体系13

2.2.3  工具化体系14

2.3  打包方案17

2.3.1  选择打包工具18

2.3.2  打包步骤19

2.3.3  添加banner23

2.3.4  按需加载24

2.4  兼容方案26

2.4.1  确定兼容环境26

2.4.2  ECMAScript 5兼容方案28

2.4.3  ECMAScript 2015兼容方案30

2.5  完整方案33

2.6  本章小结35

第3章  测试36

3.1  第一个单元测试36

3.2  设计测试用例39

3.2.1  设计思路39

3.2.2  编写代码40

3.3  验证测试覆盖率42

3.3.1  代码覆盖率42

3.3.2  源代码覆盖率44

3.3.3  校验覆盖率46

3.4  浏览器环境测试48

3.4.1  模拟浏览器环境48

3.4.2  真实浏览器测试49

3.4.3  自动化测试51

3.5  本章小结53

第4章  开源54

4.1  选择开源协议54

4.2  完善文档56

4.2.1  README57

4.2.2  待办清单59

4.2.3  变更日志59

4.2.4  API文档60

4.3  发布61

4.3.1  发布到GitHub上61

4.3.2  发布到npm上62

4.3.3  下载安装包66

4.4  统计数据66

4.4.1  GitHub数据66

4.4.2  npm数据67

4.4.3  自定义数据69

4.5  本章小结70

第5章  维护71

5.1  社区协作71

5.1.1  社区反馈72

5.1.2  社区协作76

5.1.3  社区运营77

5.2  规范先行79

5.2.1  编辑器79

5.2.2  格式化82

5.2.3  代码Lint88

5.2.4  提交信息96

5.3  持续集成102

5.3.1  GitHub Actions103

5.3.2  CircleCI111

5.3.3  Travis CI114

5.4  分支模型115

5.4.1  主分支115

5.4.2  功能分支116

5.4.3  故障分支119

5.4.4  Pull request120

5.4.5  标签与历史121

5.5  本章小结123

第6章  设计更好的JavaScript库124

6.1  设计更好的函数124

6.1.1  函数命名124

6.1.2  参数个数125

6.1.3  可选参数126

6.1.4  返回值126

6.2  提高健壮性127

6.2.1  参数防御127

6.2.2  副作用处理129

6.2.3  异常捕获130

6.3  解决浏览器兼容性问题131

6.3.1  String132

6.3.2  Array132

6.3.3  Object134

6.4  支持TypeScript134

6.5  本章小结137

第7章  安全防护138

7.1  防护意外138

7.1.1  最小功能设计138

7.1.2  最小参数设计140

7.1.3  冻结对象141

7.2  避免原型入侵142

7.2.1  面向对象基础知识142

7.2.2  原型之路143

7.2.3  原型入侵145

7.3  原型污染事件147

7.3.1  漏洞原因148

7.3.2  详解原型污染148

7.3.3  防范原型污染151

7.3.4  JSON.parse补充152

7.4  依赖的安全性问题152

7.4.1  库的选择153

7.4.2  正确区分依赖154

7.4.3  版本问题156

7.4.4  依赖过期157

7.4.5  安全检查158

7.5  本章小结160

第8章  抽象标准库161

8.1  类型判断161

8.1.1  背景知识161

8.1.2  抽象库166

8.2  函数工具169

8.2.1  once170

8.2.2  curry170

8.2.3  pipe171

8.2.4  compose172

8.3  数据拷贝174

8.3.1  背景知识174

8.3.2  最简单的深拷贝176

8.3.3  一行代码的深拷贝178

8.3.4  破解递归爆栈178

8.3.5  破解循环引用180

8.3.6  性能对比183

8.4  相等性判断187

8.4.1  背景知识187

8.4.2  抽象库195

8.5  参数扩展200

8.5.1  背景知识200

8.5.2  抽象库202

8.6  深层数据205

8.6.1  背景知识205

8.6.2  抽象库209

8.7  本章小结214

第9章  命令行工具215

9.1  系统设计215

9.2  标准命令行工具217

9.3  交互界面225

9.4  初始化功能234

9.4.1  代码架构236

9.4.2  公共逻辑237

9.4.3  模块设计242

9.5  命令行颜色249

9.6  进度条251

9.7  发布256

9.8  本章小结257

第10章  工具库实战258

10.1  问题背景258

10.2  代码实现260

10.2.1  字符串操作260

10.2.2  数组操作262

10.2.3  对象操作265

10.2.4  URL参数处理268

10.3  搭建文档269

10.4  ESLint插件274

10.4.1  type-typeof-limit276

10.4.2  type-instanceof-limit281

10.4.3  no-same-function282

10.4.4  recommended284

10.4.5  发布285

10.5  数据统计285

10.5.1  统计接入项目285

10.5.2  下载量286

10.5.3  包和函数被引用的次数287

10.6  本章小结292

第11章  前端模板库实战293

11.1  系统搭建293

11.1.1  背景知识293

11.1.2  搭建项目295

11.2  解析器300

11.3  即时编译器305

11.4  预编译器309

11.5  webpack插件317

11.6  VS Code插件323

11.7  发布329

11.8  本章小结330

第12章  未来之路331

12.1  全景图331

12.1.1  知识全景图331

12.1.2  技术全景图332

12.2  下一代技术333

12.2.1  TypeScript333

12.2.2  Deno334

12.2.3  SWC334

12.2.4  esbuild335

12.2.5  Vite335

12.3  本章小结336
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP