Node.js 開發實戰 Node.js开发实战

忽如寄

  • 出版商: 清華大學
  • 出版日期: 2017-12-09
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 287
  • 裝訂: 平裝
  • ISBN: 7302488142
  • ISBN-13: 9787302488149
  • 相關分類: Node.js
  • 無法訂購

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

商品描述

本書以實戰開發為原則,以Node.js原生知識和框架實戰為主線,詳細介紹Node.js開發的基礎知識和相應案例實踐,包括Node.js的原生模塊http、net、fs、dns、path、assert等,以及主流前沿的Express框架、Meteor框架、Koa框架的項目實際使用,同時也包含Node.js的單元測試、Node.js部署等方面的應用,還為讀者提供了詳盡的源代碼以及代碼註釋。
本書共14章,分為4篇,涵蓋的主要內容有Node.js環境搭建、Node.js的編碼規範、Node.js包管理機制、Node.js網絡開發、Node.js文件模塊使用、Node.js數據庫開發、Node.js的單元測試、前端框架React使用、Express使用、Koa框架使用、Meteor框架使用、Nginx使用、PM2使用、Node.js包的開發與發布、個人博客的搭建、任務清單項目等。
本書內容豐富、實例典型、實用性強,適合希望學習Node.js基礎以及瞭解Node.js實際使用的人員閱讀,尤其適合希望通過編碼實例學習Node.js開發的人員閱讀。

海報:

作者簡介

忽如寄,碩士,項目經理,精通Web開發(html+css+js+nodejs)和移動native開發(HTML5),也熟悉雲計算技術和大數據分析技術,並擅長系統維護和網絡安全等技術,有多年的實踐經驗。
曾參與多個大型項目的開發,並負責項目的整體規劃和技術指導工作。作者於2013年開始接觸Nodejs開發,並致力於Nodejs開發技術的應用和推廣。

目錄大綱

第一篇Node.js概述和開發環境的搭建

第1章Node.js介紹3 
1.1 Node.js簡介3 
1.2 Node.js的發展歷史和特點4 
1.2.1 Node.js發展歷史4 
1.2.2 Node .js未來版本規劃5 
1.2.3 Node.js的結構6 
1.2.4 Node.js的特點7 
1.2.5 Node.js的應用場景9 
1.3 Node.js在中國的發展10 
1.3.1 Node.js中文資源匯總10 
1.3.2 Node.js的發展和未來10 
1.4溫故知新12 

第2章部署Node.js開發環境13 
2.1 Windows 10下部署Node.js開發環境13 
2.1.1使用安裝包進行Node.js安裝14 
2.1.2測試Node.js開發環境16 
2.2 Linux下部署Node.js開發環境17 
2.2.1通過源碼安裝Node.js 18 
2.2.2通過包管理器安裝Node.js 18 
2.3 Mac OS X下部署Node. js開發環境19 
2.3.1使用.dmg安裝包進行安裝19 
2.3.2使用NPM包管理器安裝20
2.4樹莓派3下使用NVM安裝Node.js 20 
2.5使用NPM進行Node包的安裝21 
2.6開發工具介紹22 
2.6.1下載安裝Sublime Text 3 22 
2.6.2 Sublime Text操作界面24 
2.6.3安裝Sublime Text 3插件25 
2.6.4安裝Node.js插件25 
2.6.5 Sublime Text 3快捷鍵26 
2.7溫故知新28 

第二篇Node.js編程基礎

第3章Node.js開發基礎31 
3.1 JavaScript語法31 
3.1.1變量31 
3.1.2註釋33 
3.1.3數據類型34 
3.1.4函數35 
3.1.5閉包37 
3.2命名規範與編程規範39 
3.2.1命名規範39 
3.2.2編程規範40 
3.3 Node.js的控制台console 42 
3.3.1 console對像下的各種方法42 
3.3.2 console.log()方法42 
3.3.3 console.info()、console.warn()和console.error()方法43 
3.3.4 console.dir( )方法43
3.3.5 console.time()和console.timeEnd()方法44 
3.3.6 console.trace()方法45 
3.4溫故知新45 

第4章Node.js中的包管理46 
4.1 NPM介紹46 
4.1.1 NPM常用命令46 
4.1.2 package.json文件48 
4.2模塊加載原理與加載方式50 
4.2.1 require導入模塊50 
4.2.2 exports導出模塊51 
4.3 Node.js核心模塊52 
4.3.1 http模塊——創建HTTP服務器、客戶端52 
4.3.2 url模塊——url地址處理56 
4.3.3 querystring模塊——查詢字符串處理57 
4.4 Node.js常用模塊58 
4.4.1 util模塊——實用工具58 
4.4.2 path模塊——路徑處理60 
4.4.3 dns模塊61 
4.5實戰——爬取網頁圖片62 
4.5.1項目目錄與思路62 
4.5.2下載第三方模塊63 
4.5.3配置網頁地址及圖片存放的文件夾63 
4.5.4解析DOM得到圖片地址63 
4.5.5請求圖片地址64 
4.5.6圖片文件的保存64 
4.5.7啟動項目65
4.6溫故知新66 

第5章文件系統67 
5.1 Node.js文件系統介紹67 
5.1.1同步和異步67 
5.1.2 fs模塊中的類和文件的基本信息69 
5.1.3文件路徑69 
5.2基本文件操作71 
5.2 .1打開文件71 
5.2.2關閉文件72 
5.2.3讀取文件73 
5.2.4寫入文件74 
5.3其他文件操作75 
5.4實戰——用IP地址來查詢天氣情況78 
5.4.1項目思路78 
5.4. 2引入基礎模塊78 
5.4.3解析IP地址信息79 
5.4.4通過公共服務獲取城市和天氣信息79 
5.4.5遍歷IP地址80 
5.4.6將結果寫入weather.json 81 
5.5溫故知新82 

第6章Node .js網絡開發83 
6.1構建TCP服務器83 
6.1.1使用Node.js創建TCP服務器83 
6.1.2監聽客戶端的連接84 
6.1.3查看服務器監聽的地址86 
6.1.4連接服務器的客戶端數量87 
6.1. 5獲取客戶端發送的數據88 
6.1.6發送數據給客戶端89 
6.2構建TCP客戶端91
6.2.1使用Node.js創建TCP客戶端91 
6.2.2連接TCP服務器91 
6.2.3獲取從TCP服務器發送的數據92 
6.2.4向TCP服務器發送數據92 
6.3構建HTTP服務器94 
6.3.1創建HTTP服務器94 
6.3.2 HTTP服務器的路由控制96 
6.4利用UDP協議傳輸數據與發送消息97 
6.4.1創建UDP服務器98 
6.4.2創建UDP客戶端101 
6.5溫故知新103 

第7章Node.js數據庫開發104 
7.1使用mongoose連接MongoDB 104 
7.1.1 MongoDB介紹104 
7.1.2使用mongoose連接MongoDB 106 
7.1.3使用mongoose操作MongoDB 107 
7.2直接連接MongoDB 114 
7.2.1使用node-mongodb-native連接MongoDB 114 
7.2.2使用node-mongodb- native操作MongoDB 114 
7.3連接MySQL 122 
7.3.1 MySQL介紹122 
7.3.2 Node.js連接MySQL 126 
7.3.3 Node.js操作MySQL 127 
7.4實戰——學生成績錄入系統129
7.4.1生成基本的項目結構130 
7.4.2數據庫設計130 
7.4.3成績錄入路由開發131 
7.4.4讀取學生成績路由開發133 
7.5溫故知新134 

第三篇Node.js實踐

第8章前端框架137 
8.1前端框架介紹——jQuery 137 
8.1.1 jQuery介紹137 
8.1.2使用jQuery選擇器138 
8.1.3使用jQuery進行DOM操作140 
8.2前端框架介紹——React 143 
8.2.1 React介紹143 
8.2.2 React的JSX語言146 
8.2.3 React的props和state 148 
8.2.4 React的組件生命週期151 
8.3實戰——圖書信息統計154 
8.3.1生成基本的目錄結構154 
8.3.2基本的結構開發155 
8.3.3信息圖表的開發157 
8.4溫故知新164 

第9章Node.js的框架介紹165 
9.1 Node.js框架整體介紹165 
9.1.1 MVC框架165 
9.1.2全棧框架166 
9.1.3 REST API框架167 
9.1.4其他框架167
9.2 Express框架介紹168 
9.3 Meteor框架介紹170 
9.4其他框架170 
9.4.1 Sails.js 170 
9.4.2 Derby.js 171 
9.4.3 Flatiron.js 171 
9.4.4 Hapi 171 
9.4.5 Mean.IO 172 
9.4.6 Mojito 172 
9.4.7 Socket Stream 172 
9.4.8 Bearcat 173 
9.5如何選擇適合自己的框架173 
9.5.1選擇框架時的考慮事項173 
9.5.2選擇框架的建議174 
9.6溫故知新176 

第10章Node.js單元測試177 
10.1單元測試介紹177 
10.2使用單元測試模塊Mocha 177 
10.2.1 Mocha介紹178 
10.2.2使用斷言庫should.js 183 
10.2.3測試異步方法186 
10.2.4路由測試186 
10.2.5測試覆蓋率188 
10.2 .6使用Travis-cli 189 
10.3溫故知新190 

第11章其他應用部署相關191 
11.1使用Nginx 191
11.1.1 Linux下安裝Nginx 192 
11.1.2 Windows下安裝Nginx 192 
11.1.3 Nginx的配置193 
11.1.4使用Nginx部署網站198 
11.2 Yarn——新的包管理工具200 
11.3使用PM2 203 
11.4使用Koa 204 

第四篇Node.js項目案例

第12章使用Express開發個人博客系統209 
12.1項目準備209 
12.1.1項目概述209 
12.1.2前端界面設計209 
12.1.3數據庫設計211 
12.2項目開發213 
12.2.1快速生成一個項目213 
12.2.2實現登錄界面215 
12.2.3實現博客首頁界面223 
12.2.4博客文章內容頁的實現231 
12.2.5博客文章發布的實現235 
12.2.6博客友情鏈接的實現241 
12.2.7博客關於博客的實現242 
12.2.8博客404頁面的實現243 
12.2.9博客側邊欄的優化245 
12.2.10博客修改文章的實現247 
12.2.11博客刪除文章的實現251 
12.2.12博客文章分頁的實現254 
12.3項目總結257

第13章使用Meteor+MongoDB開發任務清單258 
13.1項目準備258 
13.1.1 Meteor和MongoDB的安裝258 
13.1.2項目設計260 
13.2項目開發261 
13.2.1項目展示功能開發261 
13.2.2項目頁面美化263 
13.2 .3項目數據庫開發265 
13.2.4項目操作邏輯開發266 
13.3發布與訂閱271 
13.4項目總結274 

第14章開發和發布一個Node.js包275 
14.1 Node.js包的設計275 
14.2發佈到NPM上282 
14.3圖標和徽章285 
14.4總結287