注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計Koa與Node.js開發(fā)實戰(zhàn)

Koa與Node.js開發(fā)實戰(zhàn)

Koa與Node.js開發(fā)實戰(zhàn)

定 價:¥79.00

作 者: iKcamp 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121355134 出版時間: 2018-12-01 包裝: 平裝
開本: 16開 頁數(shù): 340 字數(shù):  

內(nèi)容簡介

  Node.js 10已經(jīng)進入LTS時代!其應用場景已經(jīng)從腳手架、輔助前端開發(fā)(如SSR、PWA等)擴展到API中間層、代理層及專業(yè)的后端開發(fā)。Node.js在企業(yè)Web開發(fā)領域也日漸成熟,無論是在API中間層,還是在微服務中都得到了非常好的落地。本書將通過Web開發(fā)框架Koa2,引領你進入Node.js的主戰(zhàn)場!本書系統(tǒng)講解了在實戰(zhàn)項目中使用Koa框架開發(fā)Web應用的流程和步驟。第1章介紹Node.js的安裝、開發(fā)工具及調(diào)試。第2章和第3章介紹搭建Koa實戰(zhàn)項目的雛形。第4章詳細介紹HTTP基礎知識及其實戰(zhàn)應用。第5章介紹MVC、模板引擎和文件上傳等實用功能。第6~8章介紹數(shù)據(jù)庫、單元測試及項目的優(yōu)化與部署。第9~13章介紹從零開始搭建時下火爆的微信小程序前端及后臺管理應用的全部過程,以及最終的服務器部署,包括HTTPS、Nginx。本書示例豐富、側重實戰(zhàn),以完整的實戰(zhàn)項目貫穿全部章節(jié),并提供書中涉及的所有源碼及部分章節(jié)的配套視頻教程,將是前端開發(fā)人員立足新領域和后端開發(fā)人員了解Node.js并使用Koa2開發(fā)Web應用的得力助手。

作者簡介

  iKcamp由熱愛原創(chuàng)和翻譯的小伙伴發(fā)起,成立于2016年7月。名字中的“iK”代表布蘭登·艾克(JavaScript之父)。追隨著JavaScript這門語言所秉持的精神,崇尚自由和開放的我們一起工作、分享、創(chuàng)作,并期待著遇見更多有趣的靈魂。iKcamp已出版的圖書《移動Web前端高效開發(fā)實戰(zhàn):HTML 5 CSS 3 JavaScript Webpack React Native Vue.js Node.js》曾廣受好評。陳達孚:碩士研究生畢業(yè)于香港中文大學,《前端開發(fā)者指南(2017)》譯者之一,在中國前端開發(fā)者大會、中生代技術大會等會議上發(fā)表過主題演講。金晶:非典型程序員一名,碩士研究生畢業(yè)于利茲大學,曾主導翻譯《前端開發(fā)者指南(2017)》,專注領域為前端動效(包括但不限于CSS 3、SVG、WebGL)。干?B:滬江教育金融事業(yè)部前端負責人,具有多年一線互聯(lián)網(wǎng)公司前端開發(fā)經(jīng)驗。張利濤:滬江教育資深前端開發(fā)工程師,iKcamp.com線上課程—— 微信小程序和Node.js主編。戴亮:美團點評資深前端架構師,在GMTC(全球大前端技術大會)上發(fā)表過主題演講。周遙:《HTML 5網(wǎng)頁開發(fā)實例詳解》作者之一,iKcamp團隊發(fā)起人之一。

圖書目錄

第1篇 基礎知識
第1章 Node.js入門 2
1.1 Node.js介紹 2
1.1.1 什么是Node.js 3
1.1.2 Node.js的歷史和發(fā)展過程 4
1.1.3 Node.js的特點和應用場景 7
1.1.4 安裝Node.js 8
1.1.5 實戰(zhàn)演練:使用Node.js搭建一個HTTP Server 10
1.2 NPM 11
1.2.1 NPM介紹 12
1.2.2 NPM模塊結構 13
1.2.3 使用NVM控制Node.js版本 16
1.2.4 Web代理工具NProxy 18
1.2.5 實戰(zhàn)演練:在npm.org上發(fā)布一個模塊 20
1.3 Visual Studio Code編輯器 22
1.3.1 Visual Studio Code的安裝及其功能 22
1.3.2 使用Visual Studio Code調(diào)試Node.js 23
1.4 本章小結 25
第2章 遇見Koa 26
2.1 Koa介紹 26
2.1.1 Koa的前世今生 26
2.1.2 Koa的安裝及搭建(視頻演示) 29
2.2 Context對象 30
2.2.1 什么是Context對象 31
2.2.2 常用屬性和方法 31
2.3 Koa的中間件 35
2.3.1 中間件概念 35
2.3.2 實戰(zhàn)演練:使用中間件獲取響應時間(視頻演示) 38
2.3.3 常用Koa中間件介紹 39
2.4 本章小結 43
第3章 路由 44
3.1 路由介紹 44
3.1.1 路由的概念 45
3.1.2 實戰(zhàn)演練:使用Koa中的簡單路由自定義404頁面 46
3.2 koa-router路由中間件 48
3.2.1 koa-router的安裝和介紹 48
3.2.2 RESTful規(guī)范 48
3.2.3 koa-router用法(視頻演示) 50
3.2.4 通過koa-router實現(xiàn)接口的權限控制 55
3.3 本章小結 58
第4章 HTTP 59
4.1 HTTP介紹 59
4.1.1 HTTP的誕生 59
4.1.2 URI和URL 62
4.1.3 常用的HTTP狀態(tài)碼 63
4.1.4 常用的請求方法 63
4.1.5 常用的HTTP首部字段 64
4.2 HTTP/2 65
4.2.1 采用二進制格式傳輸數(shù)據(jù) 65
4.2.2 多路復用 65
4.2.3 流的優(yōu)先級 66
4.2.4 首部壓縮 66
4.2.5 服務端推送 67
4.3 Node.js的querystring模塊 67
4.3.1 querystring模塊的使用 67
4.3.2 koa-router中的querystring(視頻演示) 68
4.3.3 實戰(zhàn)演練:電影搜索列表 69
4.4 koa-bodyparser中間件 72
4.4.1 koa-bodyparser介紹 72
4.4.2 koa-bodyparser的使用(視頻演示) 73
4.4.3 實戰(zhàn)演練:實現(xiàn)用戶注冊功能并進行數(shù)據(jù)解析 74
4.5 本章小結 77
第2篇 應用實戰(zhàn)
第5章 構建Koa Web應用 80
5.1 MVC 80
5.1.1 MVC的發(fā)展歷程 81
5.1.2 MVC三層架構 81
5.1.3 在Koa中實現(xiàn)MVC(視頻演示) 83
5.2 模板引擎 87
5.2.1 什么是模板引擎 88
5.2.2 常見的模板引擎有哪些 88
5.2.3 Nunjucks語法介紹 91
5.2.4 Nunjucks在Koa中的應用(視頻演示) 96
5.3 靜態(tài)資源 97
5.3.1 靜態(tài)資源的類型 98
5.3.2 koa-static簡介 99
5.3.3 koa-static常用配置(視頻演示) 99
5.3.4 實戰(zhàn)演練:開發(fā)登錄驗證頁面(視頻演示) 100
5.4 其他常用開發(fā)技巧 103
5.4.1 簡易版koa-json插件開發(fā)(視頻演示) 103
5.4.2 使用koa-multer中間件實現(xiàn)文件上傳 106
5.5 本章小結 110
第6章 數(shù)據(jù)庫 111
6.1 數(shù)據(jù)庫介紹 111
6.1.1 什么是數(shù)據(jù)庫 111
6.1.2 常見的數(shù)據(jù)庫 113
6.2 在Koa中應用MySQL數(shù)據(jù)庫 114
6.2.1 下載安裝MySQL 114
6.2.2 Sequelize介紹 118
6.2.3 實戰(zhàn)演練:客戶信息數(shù)據(jù)展現(xiàn) 122
6.3 在Koa中應用MongoDB數(shù)據(jù)庫 126
6.3.1 下載安裝MongoDB 126
6.3.2 Mongoose介紹 128
6.3.3 實戰(zhàn)演練:課程表數(shù)據(jù)展現(xiàn) 132
6.4 在Koa中應用Redis數(shù)據(jù)庫 135
6.4.1 什么是Redis 135
6.4.2 Redis庫介紹 138
6.4.3 實戰(zhàn)演練:持久化用戶Session狀態(tài) 141
6.5 本章小結 145
第7章 單元測試 146
7.1 Chai斷言庫 147
7.1.1 Chai的介紹和安裝 147
7.1.2 Chai的使用 147
7.2 Mocha框架 149
7.2.1 Mocha的介紹和安裝 150
7.2.2 Mocha的使用 150
7.3 SuperTest測試RESTful API 154
7.3.1 SuperTest的介紹和安裝 154
7.3.2 SuperTest的使用 154
7.4 其他常用工具 155
7.4.1 Nock模擬服務器響應 156
7.4.2 Nyc測試覆蓋率 157
7.5 本章小結 159
第8章 優(yōu)化與部署 161
8.1 服務優(yōu)化 161
8.1.1 使用log4js記錄日志(視頻演示) 162
8.1.2 自定義錯誤頁(視頻演示) 168
8.1.3 異常捕獲處理 173
8.1.4 實戰(zhàn)演練:優(yōu)化Web開發(fā)項目結構(視頻演示) 176
8.2 部署 179
8.2.1 Node.js進程管理器PM2 179
8.2.2 應用容器引擎Docker 182
8.2.3 在線免費開源集成Travis CI 185
8.2.4 利用Nginx部署HTTPS 189
8.3 服務監(jiān)控 192
8.3.1 Node.js服務性能指標及采集 192
8.3.2 日志分析系統(tǒng)ELK 196
8.3.3 Keymetrics監(jiān)控云服務 197
8.4 本章小結 199
第3篇 項目實戰(zhàn):從零開始搭建微信小程序后臺
第9章 云相冊功能介紹和準備工作 203
9.1 應用介紹 204
9.2 小程序開發(fā)賬戶申請 206
9.3 準備域名 209
9.3.1 注冊域名 209
9.3.2 實名認證 211
9.3.3 域名備案 212
9.4 準備云服務器 216
9.5 配置DNS解析 218
9.6 本章小結 221
第10章 云相冊服務開發(fā) 222
10.1 小程序登錄 222
10.2 掃碼登錄 230
10.3 小程序接口 236
10.3.1 建立數(shù)據(jù)模型 236
10.3.2 定義相冊接口 238
10.3.3 定義照片接口 242
10.4 后臺管理系統(tǒng)接口 244
10.4.1 定義用戶列表接口 244
10.4.2 定義權限管理接口 246
10.4.3 定義獲取照片接口 247
10.4.4 定義審核照片接口 249
10.5 記錄日志 249
10.6 本章小結 252
第11章 云相冊小程序開發(fā) 254
11.1 項目介紹 254
11.2 結合Redux實現(xiàn)小程序組件通信 259
11.3 “個人中心”頁面 264
11.4 “新建相冊”頁面 267
11.4.1 自定義組件用法介紹 267
11.4.2 組件事件 269
11.4.3 實現(xiàn)“新建相冊”組件 270
11.5 “相冊列表”頁面 272
11.5.1 展示相冊列表 273
11.5.2 進入指定相冊頁面 274
11.5.3 調(diào)用“新建相冊”組件 274
11.6 “照片列表”頁面 275
11.6.1 獲取照片列表數(shù)據(jù) 276
11.6.2 數(shù)據(jù)按日期分組 277
11.6.3 上傳照片到當前相冊 278
11.6.4 單擊圖片顯示高清大圖 279
11.7 小程序?qū)徍税l(fā)布 280
11.8 本章小結 282
第12章 云相冊后臺管理系統(tǒng) 283
12.1 整體架構 284
12.1.1 基本文件結構 285
12.1.2 前端模板結構 287
12.1.3 路由設計 290
12.2 相冊列表及相關功能 292
12.2.1 分類展示照片 293
12.2.2 審核照片 297
12.2.3 HTTP通信 301
12.2.4 分頁控件 302
12.3 用戶列表及相關功能 304
12.4 登錄與鑒權 309
12.4.1 登錄 310
12.4.2 鑒權中間件 315
12.5 額外展開:SVG動畫效果及其他 317
12.6 本章小結 318
第13章 云相冊服務器部署 319
13.1 部署數(shù)據(jù)庫 321
13.1.1 存儲設置 322
13.1.2 安全策略 323
13.2 部署Nginx 325
13.2.1 安裝OpenResty 325
13.2.2 Nginx配置 326
13.2.3 插件擴展 328
13.3 部署HTTPS 329
13.3.1 強制HTTPS跳轉(zhuǎn) 329
13.3.2 添加WWW跳轉(zhuǎn) 330
13.4 配置Koa服務 331
13.5 本章小結 332

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號