現代 JavaScript 庫開發:原理、技術與實戰
顏海鏡//侯策
- 出版商: 電子工業
- 出版日期: 2023-01-01
- 定價: $648
- 售價: 7.9 折 $512
- 語言: 簡體中文
- 裝訂: 平裝
- ISBN: 7121445123
- ISBN-13: 9787121445125
-
相關分類:
JavaScript
-
相關翻譯:
再上層樓的高手 - JavaScript 函式庫開發親手做 (繁中版)
立即出貨
買這商品的人也買了...
-
$454ASP.NET MVC 企業級實戰 -
金魚都能懂的 CSS 選取器:金魚都能懂了你還怕學不會嗎(iT邦幫忙鐵人賽系列書)$560$437 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
大話 AWS 雲端架構:雲端應用架構圖解輕鬆學$550$429 -
和艦長一起 30 天玩轉 GitLab(iT邦幫忙鐵人賽系列書)$500$390 -
電路學 (下), 7/e (Alexander: Fundamentals of Electric Circuits, 7/e)$810$770 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$437 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
金魚都能懂的 CSS 必學屬性:網頁設計必備寶典(iT邦幫忙鐵人賽系列書)$720$562 -
$352Python Web 數據分析可視化 — 基於 Django 框架的開發實戰 -
$512前端架構師:基礎建設與架構設計思想 -
今晚來點 Web 前端效能優化大補帖:一次搞定指標 × 工具 × 技巧,打造超高速網站(iThome鐵人賽系列書)$650$507 -
建構微服務|設計細微化的系統, 2/e (Building Microservices: Designing Fine-Grained Systems, 2/e)$880$695 -
$509Python 編程快速上手2:趣味小項目輕松學 -
$507Python 金融量化分析 -
$1,019深度學習:從基礎到實踐(上、下冊) -
$621React 設計原理 -
$660Python 數據分析與機器學習 (微課視頻版) -
$505移動終端人工智能技術與應用開發 -
$848圖神經網絡:基礎、前沿與應用 -
$704Vue.js+Django高性能全棧論道 -
$474Web 前端應用開發技術 -
$765框架設計指南:構建可復用 .NET庫的約定、慣例與模式, 3/e -
$509JavaScript 算法:基本原理與代碼實現 -
$662Amazon Web Services 雲計算實戰, 2/e
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
開發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 AMD 8
2.1.4 CommonJS 9
2.1.5 UMD 9
2.1.6 ES Module 10
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 添加banner 23
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 README 57
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 代碼Lint 88
5.2.4 提交信息 96
5.3 持續集成 102
5.3.1 GitHub Actions 103
5.3.2 CircleCI 111
5.3.3 Travis CI 114
5.4 分支模型 115
5.4.1 主分支 115
5.4.2 功能分支 116
5.4.3 故障分支 119
5.4.4 Pull request 120
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 String 132
6.3.2 Array 132
6.3.3 Object 134
6.4 支持TypeScript 134
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 once 170
8.2.2 curry 170
8.2.3 pipe 171
8.2.4 compose 172
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-limit 276
10.4.2 type-instanceof-limit 281
10.4.3 no-same-function 282
10.4.4 recommended 284
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 TypeScript 333
12.2.2 Deno 334
12.2.3 SWC 334
12.2.4 esbuild 335
12.2.5 Vite 335
12.3 本章小結 336
