JavaScript開發框架權威指南
作 者: [美]Tim Ambler,Nicholas Cloud 著 一心一譯前端小組 譯
定 價: 89
出?版?社: 人民郵電出版社
出版日期: 2017年04月01日
頁 數: 386
裝 幀: 簡裝
ISBN: 9787115447197
●目 錄 章 Bower 1 1.1 準備工作 1 1.2 配置Bower 2 1.3 清單文件(Manifest) 2 創建新的清單文件 3 1.4 查找、添加和刪除Bower包 3 1.4.1 查找包 3 1.4.2 添加包 3 1.4.3 刪除包 5 1.5 語義化版本控制 5 1.6 維護依賴鏈 6 1.7 創建Bower包 7 1.7.1 選擇有效的包名 7 1.7.2 使用語義化版本(Semver)的 Git標簽 7 1.7.3 將軟件包發布到注冊中心 7 1.8 小結 8 第2章 Grunt 9 2.1 安裝Grunt 10 2.2 Grunt是如何工作的 10 2.2.1 Gruntfile.js 10 2.2.2 任務(Tasks) 11 2.2.3 插件(Plugins) 11 2.2.4 配置 12 2.3 將Grunt添加到項目中 12 保持合理的Grunt結構 12 2.4 與任務共舞 14 2.4.1 配置管理 14 2.4.2 任務描述 15 2.4.3 異步任務 15 2.4.4 任務依賴 16 2.4.5 多任務 16 2.4.6 多任務中的Options 17 2.7 模板配置 18 2.4.8 命令行選項 19 2.4.9 提供反饋 19 2.4.10 錯誤處理 20 2.5 操作文件繫統 20 2.5.1 源-目標映射 20 2.5.2 監視文件變化 22 2.6 創建Grunt插件 25 2.6.1 開始 25 2.6.2 創建任務 26 2.6.3 將任務發布到npm 28 2.7 總結 28 2.8 相關資源 29 第3章 Yeoman 30 3.1 安裝Yeoman 30 3.2 創建個項目 30 3.2.1 子命令 33 3.3 創建你的個腳手架 34 3.3.1 Yeoman腳手架是一個Node 模塊 34 3.3.2 子腳手架 35 3.3.3 定義二級命令 39 3.3.4 可組合性 41 3.4 小結 41 3.5 相關資源 42 第4章 PM2 43 4.1 安裝 43 4.2 與進程一起工作 43 4.2.1 從錯誤中恢復 46 4.2.2 監控文件變化 47 4.3 監控日志 48 4.4 監控資源占用 49 4.41 監控本地資源 49 4.4.2 監控遠程資源 49 4.5 進程的不錯管理 52 4.5.1 通過JSON方式配置應用 52 4.6 多核處理器的負載均衡 55 4.6.1 0秒宕機的部署方式 57 4.7 小結 59 4.8 相關資源 59 第5章 RequireJS 60 5.1 運行示例 61 5.2 使用RequireJS 61 5.2.1 安裝 62 5.2.2 配置 62 5.2.3 應用模塊和依賴 64 5.2.4 路徑和別名 66 5.2.5 Shims 69 5.2.6 加載器插件 73 5.2.7 緩存清除 78 5.3 RequireJS優化 80 5.3.1 配置 r.js 80 5.3.2 運行r.js命令 81 5.4 小結 82 第6章 Browserify 84 6.1 AMD API與CommonJS對比 84 6.2 安裝Browserify 85 6.3 創建你的個Bundle 85 6.4 可視化依賴樹 87 6.5 發生變化時重新打包文件 88 6.5.1 通過Grunt監聽文件變化 88 6.5.2 通過Watchify監聽文件 變化 88 6.6 使用多個打包文件 90 6.7 Node方式 92 6.7.1 模塊解析方案和NODE_PATH 環境變量 93 6.7.2 依賴管理 95 6.8 定義瀏覽器指定模塊 96 6.9 用Transforms擴展Browserify 97 6.9.1 brfs 97 6.9.2 folderify 98 6.9.3 bulkify 98 6.9.4 Browserify-Shim 99 6.10 小結 100 6.11 相關資源 100 第7章 Knockout 101 7.1 View、Model與View Model 102 7.1.1 菜譜列表 103 7.1.2 菜譜詳情 106 7.2 綁定視圖模型到DOM 108 7.3 視圖模型與表單 109 7.3.1 切換到“編輯”模式 109 7.3.2 更改菜譜的標題 112 7.3.3 更改菜譜的Serving與 Cooking Time 112 7.3.4 添加與刪除食材 114 7.3.5 操作步驟 118 7.3.6 引文 119 7.4 自定義組件 120 7.4.1 input-list組件的視圖模型 120 7.4.2 input-list模板 121 7.4.3 注冊input-list組件 123 7.5 Subscribable: 簡單的消息傳遞 124 7.6 小結 126 7.7 相關資源 127 第8章 AngularJS 128 8.1 聲明式Web編程 128 8.1.1 命令式編程 128 8.1.2 聲明式編程 129 8.2 Module:創建松散耦合程序的基石 130 8.3 指令:DOM的抽像 132 8.4 加入邏輯 134 8.4.1 Scope與原型繼承 134 8.4.2 用Controller操作Scope 135 8.5 通過Service與依賴注入(DI) 實現松散耦合 138 8.5.1 依賴注入 138 8.5.2 簡單的Controller與復雜的 Service 139 8.6 創建路由 142 8.6.1 路由參數 143 8.6.2 路由的Resolve 144 8.7 創建復雜表單 145 8.7.1 表單驗證 146 8.7.2 條件邏輯 150 8.7.3 列表 151 8.8 小結 153 8.9 相關資源 154 第9章 Kraken 155 9.1 環境感知的配置 156 9.2 注冊基於配置的中間件 162 9.3 結構化路由注冊 165 9.3.1 索引配置 165 9.3.2 目錄配置 166 9.3.3 路由配置 167 9.4 Dust模板 169 9.4.1 上下文及引用 169 9.4.2 片段 171 9.4.3 迭代 172 9.4.4 條件句 173 9.4.5 局部模板 173 9.4.6 塊 174 9.4.7 過濾器 175 9.4.8 上下文輔助器 176 9.4.9 Dust輔助器 182 9.4.10 使用Kraken 186 9.5 小結 200 9.6 相關資源 200 0章 Mach 202 10.1 章節例子 202 10.2 安裝 203 10.3 Mach - Web服務 203 10.3.1 HTTP路由 205 10.3.2 建立連接 210 10.3.3 公共的中間件 212 10.3.4 路由重寫 226 10.3.5 主機映射 228 10.3.6 自定義中間件 232 10.4 Mach-HTTP客戶端 234 10.5 Mach - HTTP代理 236 10.6 小結 239 1章 Mongoose> 240 11.1 MongoDB的基本概念 240 11.2 Mongoose的一個簡單示例 243 11.2.1 針對JSON數據創建一個 Mongoose模式 243 11.2.2 使用Mongoose導入數據 244 11.2.3 通過Mongoose查詢數據 247 11.3 使用結構(Schemas) 248 11.3.1 數據類型 248 11.3.2 嵌套結構 250 11.3.3 默認屬性值 250 11.3.4 必要屬性 251 11.3.5 輔助索引 251 11.3.6 結構校驗 252 11.3.7 結構引用 255 11.3.8 結構中間件 258 11.4 使用模型和文檔 259 11.4.1 文檔實例方法 262 11.4.2 文檔虛擬 263 11.4.3 靜態模型方法 265 11.5 使用查詢 266 11.5.1 Model.find() 266 11.5.2 使用查詢運算符查找文檔 272 11.6 小結 278 2章 Knex和Bookshelf 279 12.1 Knex 279 12.1.1 安裝命令行工具 280 12.1.2 把Knex添加到你的項目 280 12.1.3 配置Knex 280 12.1.4 SQL查詢構建器 281 12.1.5 遷移腳本 287 12.1.6 種子腳本 291 12.2 Bookshelf 291 12.2.1 什麼是對像映射關繫? 292 12.2.2 創建Bookshelf模型 292 12.2.3 關繫 299 12.3 小結 306 12.4 相關資源 307 3章 Faye 308 13.1 HTTP、Bayeux和WebSocket 308 13.1.1 WebSocket 310 13.1.2 Bayeux協議 310 13.2 開始使用Faye 312 13.3 發布/訂閱消息繫統 313 13.4 小結 318 13.5 相關資源 318 4章 Q 319 14.1 時間就是一切 319 14.2 Promise對比回調函數 322 14.3 Q的Promise 324 14.3.1 Deferreds 和 Promises 324 14.3.2 值和錯誤 328 14.3.3 報告進度 333 14.3.4 終點 336 14.4 控制流 338 14.4.1 順序流 338 14.4.2 平行流 339 14.4.3 管道流 341 14.5 小結 342 14.6 相關資源 343 5章 Async.js 344 15.1 順序流 345 15.2 並行流 346 15.3 管線流 348 15.4 循環流 352 15.4.1 為真則循環執行 352 15.4.2 為假則循環執行 354 15.4.3 循環重試 355 15.4.4 無限循環 357 15.5 批處理流 358 15.5.1 異步隊列 358 15.5.2 異步負載 359 15.6 小結 361 6章 Underscore和Lodash 362 16.1 安裝及用法 363 16.2 聚合和索引 364 16.2.1 countBy() 364 16.2.2 groupBy() 365 16.2.3 indexBy() 366 16.3 選擇 367 16.3.1 從集合中選擇數據 367 16.3.2 從對像中選擇數據 369 16.4 鏈式調用 373 16.5 函數計時 375 16.5.1 defer() 375 16.5.2 debounce() 377 16.5.3 throttle() 378 16.6 模板 380 16.6.1 模板內的循環及其他 JavaScript代碼 381 16.6.2 書寫不加鱷魚標記的代碼 382 16.6.3 從模板中獲取數據對像 383 16.6.4 默認模板數據 384 16.7 小結 385 16.8 相關資源 386
內容簡介
JavaScript是現代Web開發必不可少的編程語言,但JavaScript的生態繫統包括庫、框架以及工具都在快速地發展且日益龐大。程序員學習的需求和面臨的挑戰也相應地增加。 JavaScript開發框架quanwei指南涵蓋了在開發過程中常用的各種JavaScript工具,以幫助讀者在大量流行的JavaScript工具中做選擇。全書分為16章,從開發工具、模塊加載器、客戶端框架、服務端框架數據庫交互、通信、管理控制流和其他有用框架等幾個方面,涵蓋了Bower、Grunt、Yeoman、PM2、RequireJS、Browserify、Knockout、AngularJS、Kraken、Mach、Mongoose、Knex、Bookshelf、Faye、Q、Async.js、Underscore和 Lodash等框架和庫。全書涵蓋了客戶端和服務器端的開發,通過細致的講解、詳細的代碼示例,......
[美]Tim Ambler,Nicholas Cloud 著 一心一譯前端小組 譯
Tim Ambler是來自美國田納西州那什維爾的一名軟件工程師。他對編程的熱情來自於父親。在他小的時候,他的父親就向他介紹了Commodore 64電腦。Tim 是幾個流行的開源項目的作者,其中whenLive已經被GitHub員工采用。作為會議演說家和多產的作家,Tim多次被在線出版物推薦,如JavaScript Weekly和Node Weekly。Tim目前與他的妻子和2隻貓生活在南部。讀者可以在Twitter上 @tkambler 關注他。 Nicholas Cloud是一名軟件工程師,居住在很好潮濕的城市聖路易斯。過去十幾年裡,他利用自己的技能成就一番成功事業。通過JavaScri......
"