新到貨2本75折
現代JavaScript庫開發:原理、技術與實戰

現代JavaScript庫開發:原理、技術與實戰

  • 定價:648
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

開發JavaScript庫是入門前端領域的重要一步。《現代JavaScript庫開發:原理、技術與實戰》旨在幫助前端開發者掌握現代JavaScript庫的開發技術,讓每個人都可以開源自己的現代JavaScript庫。本書系統介紹了現代JavaScript庫開發涉及的技術、原理和最佳實踐,以及將庫開源後如何做好維護工作。在最佳實戰部分,本書選取了9個典型庫作為案例,展示開發流程,代碼清晰、完善。

《現代JavaScript庫開發:原理、技術與實戰》既適合對現代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
 

詳細資料

  • ISBN:9787121445125
  • 規格:平裝 / 338頁 / 19 x 26 x 1.69 cm / 普通級 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折