JavaScript Web套用開發

JavaScript Web套用開發

《JavaScript Web套用開發》是2015年9月人民郵電出版社出版的圖書,作者是[阿根廷]比瓦卡(Nicolas Bevacqua)。

基本介紹

  • 中文名:JavaScript Web套用開發
  • 作者:[阿根廷]比瓦卡(Nicolas Bevacqua)
  • ISBN:9787115402103
  • 頁數:270頁
  • 定價:59元
  • 出版社:人民郵電出版社
  • 出版時間:2015年9月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書是面向一線開發人員的一本實用教程,對新的Web開發技術與程式進行了全面的梳理和總結,為JavaScript開發人員提供了改進Web開發質量和開發流程的新技術。本書主要分兩大塊,首先是以構建為目標實現JavaScript驅動開發,其次介紹如何管理套用設計過程中的複雜度,包括模組化、MVC、異步代碼流、測試以及API設計原則。

圖書目錄

第 一部分 構建過程
第 1章 構建優先 2
1.1 問題出現了 2
1.1.1 45 分鐘內每秒損失17萬美元 3
1.1.2 構建優先 3
1.1.3 繁瑣的前戲 4
1.2 遵守構建優先原則,提前計畫 5
1.3 構建過程 7
1.4 處理套用的複雜度和設計理念 8
1.5 鑽研構建優先原則 12
1.5.1 檢查代碼質量 12
1.5.2 在命令行中使用lint 工具 15
1.6 總結 18
第 2章 編寫構建任務,制定流程 19
2.1 介紹Grunt 20
2.1.1 安裝Grunt 21
2.1.2 設定第 一個Grunt任務 23
2.1.3 使用Grunt管理構建過程 24
2.2 預處理和靜態資源最佳化 26
2.2.1 詳述預處理 26
2.2.2 處理LESS 28
2.2.3 打包靜態資源 31
2.2.4 簡化靜態資源 32
2.2.5 創建子圖集 34
2.3 檢查代碼完整性 36
2.3.1 清理工作 36
2.3.2 使用lint程式檢查代碼 37
2.3.3 自動運行單元測試 38
2.4 首 次自己編寫構建任務 38
2.5 案例分析:資料庫任務 39
2.6 總結 41
第3章 精通環境配置和開發流程 42
3.1 套用的環境 42
3.1.1 配置構建模式 43
3.1.2 環境層面的配置 47
3.1.3 開發環境有什麼特別之處 48
3.2 配置環境 48
3.2.1 瀑布式存儲配置的方法 49
3.2.2 通過加密增強環境配置的安全性 50
3.2.3 使用系統級方式設定環境層面的配置 52
3.2.4 在代碼中使用瀑布式方法合併配置 53
3.3 自動執行繁瑣的首 次設定任務 54
3.4 在持續開發環境中工作 54
3.4.1 監視變動,爭分奪秒 55
3.4.2 監視Node套用的變動 56
3.4.3 選擇一 款合適的文本編輯器 57
3.4.4 手動刷新瀏覽器已經過時了 58
3.5 總結 58
第4章 發布、部署和監控 59
4.1 發布套用 60
4.1.1 最佳化圖像 60
4.1.2 快取靜態資源 62
4.1.3 內嵌對首屏到關重要的CSS 64
4.1.4 部署前要測試 65
4.2 預部署操作 65
4.2.1 語義化版本 66
4.2.2 使用更改日誌 67
4.2.3 提升版本號時提交更改日誌 67
4.3 部署到Heroku 68
4.3.1 在Heroku的伺服器中構建 70
4.3.2 管理多個環境 71
4.4 持續集成 71
4.4.1 使用Travis託管的CI 72
4.4.2 持續部署 73
4.5 監控和診斷 74
4.5.1 日誌和通知 74
4.5.2 調試Node套用 76
4.5.3 分析性能 78
4.5.4 運行時間和進程管理 78
4.6 總結 79
第 二部分 管理複雜度
第5章 理解模組化和依賴管理 82
5.1 封裝代碼 83
5.1.1 理解單一職責原則 84
5.1.2 信息隱藏和接口 86
5.1.3 作用域和this關鍵字 87
5.1.4 嚴格模式 90
5.1.5 提升變數的作用域 91
5.2 JavaScript模組 92
5.2.1 閉包和模組模式 92
5.2.2 原型的模組化 93
5.2.3 CommonJS模組 94
5.3 管理依賴 95
5.3.1 依賴圖 95
5.3.2 介紹RequireJS 98
5.3.3 Browserify:在瀏覽器中使用
CJS 模組 100
5.3.4 Angular管理依賴的方式 100
5.4 理解包管理 102
5.4.1 Bower簡介 103
5.4.2 大型庫,小組件 104
5.4.3 選擇合適的模組系統 105
5.4.4 學習循環依賴 105
5.5 ECMAScript 6新功能簡介 106
5.5.1 在Grunt任務中使用Traceur 107
5.5.2 Harmony中的模組 107
5.5.3 創建塊級作用域的let關鍵字 108
5.6 總結 109
第6章 理解JavaScript中的異步流程控制方法 110
6.1 使用回調 110
6.1.1 跳出回調之坑 111
6.1.2 解開混亂的回調 112
6.1.3 嵌套請求 114
6.1.4 處理異步流程中的錯誤 116
6.2 使用async庫 119
6.2.1 使用瀑布式、串列還是並行 119
6.2.2 異步函式式任務 123
6.2.3 異步任務佇列 124
6.2.4 制定流程和動態流程 125
6.3 使用Promise對象 127
6.3.1 Promise對象基礎知識 127
6.3.2 連結Promise對象 130
6.3.3 控制流程 132
6.3.4 處理被拒絕的Promise對象 133
6.4 理解事件 134
6.4.1 事件和DOM 134
6.4.2 自己實現事件發射器 135
6.5 展望:ES6生成器 138
6.5.1 創建第 一個生成器 138
6.5.2 生成器的異步性 140
6.6 總結 141
第7章 使用模型-視圖-控制器模式 142
7.1 jQuery力不勝任 142
7.2 在JavaScript中使用MVC模式 145
7.2.1 為什麼使用Backbone 146
7.2.2 安裝Backbone 147
7.2.3 使用Grunt和Browserify編譯Backbone模組 147
7.3 介紹Backbone 148
7.3.1 Backbone視圖 149
7.3.2 創建Backbone模型 152
7.3.3 使用Backbone集合組織模型 154
7.3.4 添加Backbone路由器 155
7.4 案例分析:購物清單 157
7.4.1 從靜態購物清單開始 157
7.4.2 添加刪除按鈕 159
7.4.3 把物品添加到購物車中 161
7.4.4 實現行內編輯 164
7.4.5 服務層和視圖路由 170
7.5 Backbone和Rendr:伺服器和客戶端共享渲染 172
7.5.1 Rendr簡介 172
7.5.2 理解Rendr的樣板代碼 174
7.5.3 一個簡單的Rendr套用 176
7.6 總結 182
第8章 測試JavaScript組件 184
8.1 JavaScript測試速成課185
8.1.1 隔離邏輯單元 185
8.1.2 使用TAP 186
8.1.3 編寫第 一個單元測試 186
8.1.4 在瀏覽器中運行使用Tape編寫的測試 187
8.1.5 籌備、行動和斷言 188
8.1.6 單元測試 188
8.1.7 便利性優於約定 189
8.1.8 案例分析:為事件發射器編寫單元測試 189
8.1.9 測試事件發射器 190
8.1.10 測試.on方法 192
8.1.11 馭件、偵件和代理 193
8.1.12 模擬 194
8.1.13 介紹Sinon.js 195
8.1.14 監視函式的調用情況 195
8.1.15 代理require調用 196
8.2 在瀏覽器中測試 198
8.2.1 偽造XHR請求和伺服器回響 198
8.2.2 案例分析:測試DOM互動 200
8.3 案例分析:為使用MVC模式開發的購物清單編寫單元測試 209
8.3.1 測試視圖路由器 209
8.3.2 測試視圖模型的驗證 214
8.4 自動運行Tape測試 216
8.4.1 自動運行瀏覽器中的Tape測試 217
8.4.2 持續測試 218
8.5 集成測試、外觀測試和性能測試 218
8.5.1 集成測試 219
8.5.2 外觀測試 219
8.5.3 性能測試 220
8.6 總結 221
第9章 REST API設計和分層服務架構 222
9.1 規避API設計誤區 222
9.2 學習REST API設計 223
9.2.1 端點、HTTP方法和版本 224
9.2.2 請求、回響和狀態碼 227
9.2.3 分頁、快取和限流 229
9.2.4 為API 編寫文檔 231
9.3 實現分層服務架構 232
9.3.1 路由層 233
9.3.2 服務層 233
9.3.3 數據層 234
9.3.4 路由層 234
9.3.5 服務層 234
9.3.6 數據層 235
9.4 在客戶端使用REST API 235
9.4.1 請求處理層 236
9.4.2 中止舊請求 236
9.4.3 使用一致的方式處理AJAX錯誤 237

相關詞條

熱門詞條

聯絡我們