JavaScript Web應用開發 JavaScript Web应用开发

[阿根廷] 比瓦卡

  • 出版商: 人民郵電
  • 出版日期: 2015-09-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 270
  • 裝訂: 平裝
  • ISBN: 7115402108
  • ISBN-13: 9787115402103
  • 相關分類: JavaScript
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

 

<內容簡介>

本書是面向一線開發人員的一本實用教程,對新的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