互联网
类型
8.3
豆瓣评分
可以朗读
语音朗读
122千字
字数
2023-01-01
发行日期
展开全部
主编推荐语
本书旨在帮助前端开发者掌握现代JavaScript库的开发技术。
内容简介
开发JavaScript库是入门前端领域的重要一步。本书系统介绍了现代JavaScript库开发涉及的技术、原理和最佳实践,以及将库开源后如何做好维护工作。在最佳实战部分,本书选取了9个典型库作为案例,展示开发流程,代码清晰、完善。
本书既适合对现代JavaScript库开发及开源感兴趣的前端开发者阅读,也适合想要学习前端项目开发技术的初学者阅读。
目录
- 版权信息
- 内容简介
- 推荐序1
- 推荐序2
- 推荐语
- 前言
- 第1章 从零开发一个JavaScript库
- 1.1 如何开始
- 1.2 编写代码
- 1.3 本章小结
- 第2章 构建
- 2.1 模块化解析
- 2.1.1 什么是模块
- 2.1.2 原始模块
- 2.1.3 AMD
- 2.1.4 CommonJS
- 2.1.5 UMD
- 2.1.6 ES Module
- 2.2 技术体系解析
- 2.2.1 传统体系
- 2.2.2 Node.js体系
- 2.2.3 工具化体系
- 2.3 打包方案
- 2.3.1 选择打包工具
- 2.3.2 打包步骤
- 2.3.3 添加banner
- 2.3.4 按需加载
- 2.4 兼容方案
- 2.4.1 确定兼容环境
- 2.4.2 ECMAScript 5兼容方案
- 2.4.3 ECMAScript 2015兼容方案
- 2.5 完整方案
- 2.6 本章小结
- 第3章 测试
- 3.1 第一个单元测试
- 3.2 设计测试用例
- 3.2.1 设计思路
- 3.2.2 编写代码
- 3.3 验证测试覆盖率
- 3.3.1 代码覆盖率
- 3.3.2 源代码覆盖率
- 3.3.3 校验覆盖率
- 3.4 浏览器环境测试
- 3.4.1 模拟浏览器环境
- 3.4.2 真实浏览器测试
- 3.4.3 自动化测试
- 3.5 本章小结
- 第4章 开源
- 4.1 选择开源协议
- 4.2 完善文档
- 4.2.1 README
- 4.2.2 待办清单
- 4.2.3 变更日志
- 4.2.4 API文档
- 4.3 发布
- 4.3.1 发布到GitHub上
- 4.3.2 发布到npm上
- 4.3.3 下载安装包
- 4.4 统计数据
- 4.4.1 GitHub数据
- 4.4.2 npm数据
- 4.4.3 自定义数据
- 4.5 本章小结
- 第5章 维护
- 5.1 社区协作
- 5.1.1 社区反馈
- 5.1.2 社区协作
- 5.1.3 社区运营
- 5.2 规范先行
- 5.2.1 编辑器
- 5.2.2 格式化
- 5.2.3 代码Lint
- 5.2.4 提交信息
- 5.3 持续集成
- 5.3.1 GitHub Actions
- 5.3.2 CircleCI
- 5.3.3 Travis CI
- 5.4 分支模型
- 5.4.1 主分支
- 5.4.2 功能分支
- 5.4.3 故障分支
- 5.4.4 Pull request
- 5.4.5 标签与历史
- 5.5 本章小结
- 第6章 设计更好的JavaScript库
- 6.1 设计更好的函数
- 6.1.1 函数命名
- 6.1.2 参数个数
- 6.1.3 可选参数
- 6.1.4 返回值
- 6.2 提高健壮性
- 6.2.1 参数防御
- 6.2.2 副作用处理
- 6.2.3 异常捕获
- 6.3 解决浏览器兼容性问题
- 6.3.1 String
- 6.3.2 Array
- 6.3.3 Object
- 6.4 支持TypeScript
- 6.5 本章小结
- 第7章 安全防护
- 7.1 防护意外
- 7.1.1 最小功能设计
- 7.1.2 最小参数设计
- 7.1.3 冻结对象
- 7.2 避免原型入侵
- 7.2.1 面向对象基础知识
- 7.2.2 原型之路
- 7.2.3 原型入侵
- 7.3 原型污染事件
- 7.3.1 漏洞原因
- 7.3.2 详解原型污染
- 7.3.3 防范原型污染
- 7.3.4 JSON.parse补充
- 7.4 依赖的安全性问题
- 7.4.1 库的选择
- 7.4.2 正确区分依赖
- 7.4.3 版本问题
- 7.4.4 依赖过期
- 7.4.5 安全检查
- 7.5 本章小结
- 第8章 抽象标准库
- 8.1 类型判断
- 8.1.1 背景知识
- 8.1.2 抽象库
- 8.2 函数工具
- 8.2.1 once
- 8.2.2 curry
- 8.2.3 pipe
- 8.2.4 compose
- 8.3 数据拷贝
- 8.3.1 背景知识
- 8.3.2 最简单的深拷贝
- 8.3.3 一行代码的深拷贝
- 8.3.4 破解递归爆栈
- 8.3.5 破解循环引用
- 8.3.6 性能对比
- 8.4 相等性判断
- 8.4.1 背景知识
- 8.4.2 抽象库
- 8.5 参数扩展
- 8.5.1 背景知识
- 8.5.2 抽象库
- 8.6 深层数据
- 8.6.1 背景知识
- 8.6.2 抽象库
- 8.7 本章小结
- 第9章 命令行工具
- 9.1 系统设计
- 9.2 标准命令行工具
- 9.3 交互界面
- 9.4 初始化功能
- 9.4.1 代码架构
- 9.4.2 公共逻辑
- 9.4.3 模块设计
- 9.5 命令行颜色
- 9.6 进度条
- 9.7 发布
- 9.8 本章小结
- 第10章 工具库实战
- 10.1 问题背景
- 10.2 代码实现
- 10.2.1 字符串操作
- 10.2.2 数组操作
- 10.2.3 对象操作
- 10.2.4 URL参数处理
- 10.3 搭建文档
- 10.4 ESLint插件
- 10.4.1 type-typeof-limit
- 10.4.2 type-instanceof-limit
- 10.4.3 no-same-function
- 10.4.4 recommended
- 10.4.5 发布
- 10.5 数据统计
- 10.5.1 统计接入项目
- 10.5.2 下载量
- 10.5.3 包和函数被引用的次数
- 10.6 本章小结
- 第11章 前端模板库实战
- 11.1 系统搭建
- 11.1.1 背景知识
- 11.1.2 搭建项目
- 11.2 解析器
- 11.3 即时编译器
- 11.4 预编译器
- 11.5 webpack插件
- 11.6 VS Code插件
- 11.7 发布
- 11.8 本章小结
- 第12章 未来之路
- 12.1 全景图
- 12.1.1 知识全景图
- 12.1.2 技术全景图
- 12.2 下一代技术
- 12.2.1 TypeScript
- 12.2.2 Deno
- 12.2.3 SWC
- 12.2.4 esbuild
- 12.2.5 Vite
- 12.3 本章小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。