買這商品的人也買了...
-
$380$323 -
$580$458 -
$352深入理解 SVG
-
$250新時期的 Node.js 入門/Web前端技術叢書
-
$580$493 -
$454Vue.js 項目開發實戰
-
$580$522 -
$594$564 -
$454Node.js 實戰 : 使用 Egg.js+Vue.js+Docker 構建漸進式、可持續集成與交付應用
-
$650$553 -
$580$458 -
$505SQL Server On Linux 運維實戰
-
$301Node.js 10實戰
-
$474$450 -
$403了不起的 JavaScript 工程師:從前端到全端高級進階
-
$550$429 -
$714$678 -
$621Spring Boot 實戰派
-
$301Vim 8 文本處理實戰 (Mastering Vim: Build a software development environment with Vim and Neovim)
-
$474$450 -
$650$507 -
$556MongoDB+Express+Angular+Node.js 全棧開發實戰派
-
$539$512 -
$659Linux 高效運維實戰
-
$680$530
相關主題
商品描述
Node.js 10已經進入LTS時代!其應用場景已經從腳手架、輔助前端開發(如SSR、PWA等)擴展到API中間層、代理層及專業的後端開發。Node.js在企業Web開發領域也日漸成熟,無論是在API中間層,還是在微服務中都得到了非常好的落地。本書將通過Web開發框架Koa2,引領你進入Node.js的主戰場!本書系統講解了在實戰項目中使用Koa框架開發Web應用的流程和步驟。第1章介紹Node.js的安裝、開發工具及調試。第2章和第3章介紹搭建Koa實戰項目的雛形。第4章詳細介紹HTTP基礎知識及其實
作者簡介
iKcamp由熱愛原創和翻譯的小伙伴發起,成立於2016年7月。名字中的“iK”代表布蘭登·艾克(JavaScript之父)。追隨著JavaScript這門語言所秉持的精神,崇尚自由和開放的我們一起工作、分享、創作,並期待著遇見更多有趣的靈魂。iKcamp已出版的圖書《移動Web前端高效開發實戰:HTML 5 + CSS 3 + JavaScript + Webpack + React Native + Vue.js + Node.js》曾廣受好評。陳達孚:碩士研究生畢業於香港中文大學,《前端開發者指南(2017)》譯者之一,在中國前端開發者大會、中生代技術大會等會議上發表過主題演講。金晶:非典型程序員一名,碩士研究生畢業於利茲大學,曾主導翻譯《前端開發者指南(2017)》,專注領域為前端動效(包括但不限於CSS 3、SVG、WebGL)。幹珺:滬江教育金融事業部前端負責人,具有多年一線互聯網公司前端開發經驗。張利濤:滬江教育資深前端開發工程師,iKcamp.com線上課程—— 微信小程序和Node.js主編。戴亮:美團點評資深前端架構師,在GMTC(全球大前端技術大會)上發表過主題演講。週遙:《HTML 5網頁開發實例詳解》作者之一,iKcamp團隊發起人之一。
目錄大綱
第1篇基礎知識
第1章Node.js入門2
1.1 Node.js介紹2
1.1.1什麼是Node.js 3
1.1.2 Node.js的歷史和發展過程4
1.1.3 Node.js的特點和應用場景7
1.1.4安裝Node.js 8
1.1.5實戰演練:使用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實戰演練:在npm.org上發布一個模塊20
1.3 Visual Studio Code編輯器22
1.3.1 Visual Studio Code的安裝及其功能22
1.3.2使用Visual Studio Code調試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實戰演練:使用中間件獲取響應時間(視頻演示) 38
2.3.3常用Koa中間件介紹39
2.4本章小結43
第3章路由44
3.1路由介紹44
3.1.1路由的概念45
3.1.2實戰演練:使用Koa中的簡單路由自定義404頁面46
3.2 koa-router路由中間件48
3.2.1 koa-router的安裝和介紹48
3.2.2 RESTful規範48
3.2.3 koa- router用法(視頻演示) 50
3.2.4通過koa-router實現接口的權限控制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狀態碼63
4.1.4常用的請求方法63
4.1.5常用的HTTP首部字段64
4.2 HTTP/2 65
4.2.1採用二進制格式傳輸數據65
4.2.2多路復用65
4.2.3流的優先級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實戰演練:電影搜索列表69
4.4 koa-bodyparser中間件72
4.4.1 koa-bodyparser介紹72
4.4.2 koa-bodyparser的使用(視頻演示) 73
4.4.3實戰演練:實現用戶註冊功能並進行數據解析74
4.5本章小結77
第2篇應用實戰
第5章構建Koa Web應用80
5.1 MVC 80
5.1.1 MVC的發展歷程81
5.1.2 MVC三層架構81
5.1.3在Koa中實現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靜態資源97
5.3.1靜態資源的類型98
5.3.2 koa-static簡介99
5.3.3 koa- static常用配置(視頻演示) 99
5.3.4實戰演練:開發登錄驗證頁面(視頻演示) 100
5.4其他常用開發技巧103
5.4.1簡易版koa-json插件開發(視頻演示) 103
5.4.2使用koa-multer中間件實現文件上傳106
5.5本章小結110
第6章數據庫111
6.1數據庫介紹111
6.1.1什麼是數據庫111
6.1.2常見的數據庫113
6.2在Koa中應用MySQL數據庫114
6.2.1下載安裝MySQL 114
6.2.2 Sequelize介紹118
6.2.3實戰演練:客戶信息數據展現122
6.3在Koa中應用MongoDB數據庫126
6.3.1下載安裝MongoDB 126
6.3.2 Mongoose介紹128
6.3.3實戰演練:課程表數據展現132
6.4在Koa中應用Redis數據庫135
6.4.1什麼是Redis 135
6.4.2 Redis庫介紹138
6.4.3實戰演練:持久化用戶Session狀態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章優化與部署161
8.1服務優化161
8.1.1使用log4js記錄日誌(視頻演示) 162
8.1.2自定義錯誤頁(視頻演示) 168
8.1. 3異常捕獲處理173
8.1.4實戰演練:優化Web開發項目結構(視頻演示) 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服務監控192
8.3.1 Node.js服務性能指標及採集192
8.3.2日誌分析系統ELK 196
8.3.3 Keymetrics監控雲服務197
8.4本章小結199
第3篇項目實戰:從零開始搭建微信小程序後台
第9章云相冊功能介紹和準備工作203
9.1應用介紹204
9.2小程序開發賬戶申請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章云相冊服務開發222
10.1小程序登錄222
10.2掃碼登錄230
10.3小程序接口236
10.3.1建立數據模型236
10.3.2定義相冊接口238
10.3.3定義照片接口242
10.4後台管理系統接口244
10.4.1定義用戶列表接口244
10.4.2定義權限管理接口246
10.4.3定義獲取照片接口247
10.4.4定義審核照片接口249
10.5記錄日誌249
10.6本章小結252
第11章云相冊小程序開發254
11.1項目介紹254
11.2結合Redux實現小程序組件通信259
11.3 “個人中心”頁面264
11.4 “新建相冊”頁面267
11.4.1自定義組件用法介紹267
11.4.2組件事件269
11.4.3實現“新建相冊”組件270
11.5 “相冊列表”頁面272
11.5.1展示相冊列表273
11.5.2進入指定相冊頁面274
11.5.3調用“新建相冊”組件274
11.6 “照片列表”頁面275
11.6.1獲取照片列表數據276
11.6.2數據按日期分組277
11.6.3上傳照片到當前相冊278
11.6.4單擊圖片顯示高清大圖279
11.7小程序審核發布280
11.8本章小結282
第12章云相冊後台管理系統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部署數據庫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跳轉329
13.3.2添加WWW跳轉330
13.4配置Koa服務331
13.5本章小結332