Node與Express開發 Web Development with Node and Express: Leveraging the JavaScript Stack

[美]Ethan Brown 著

  • Node與Express開發-preview-1
  • Node與Express開發-preview-2
Node與Express開發-preview-1

相關主題

商品描述

本書系統講解了使用Express開發動態Web應用的流程和步驟。作者不僅講授了開發公共站點及REST API的基礎知識,同時還講解了構建單頁、多頁及混合Web應用的規劃方式及**佳實踐。具體而言,第 1~5章介紹Node 和Express,搭建一個示例網站的骨架,討論測試和QA。第6~12章介紹Node中更重要的結構,講解模板,介紹cookies、會話和表單處理器,探討中間件以及從服務器發送電子郵件。第 13~15章討論持久化、URL路由、API的編寫、流行的MVC範式。第 18~22章討論安全、社交媒體集成以及網站的調試、啟用和維護。

本書適合所有前端和後端開發人員閱讀。

作者簡介

Ethan Brown 美國俄勒岡州Pop Art 司的高級軟工程師,負責*站及Web服架構的設與實現。
擁有20多年編程經驗,從事過嵌入式開發Web開發,他相*技術棧是來的Web 台。

目錄大綱

序XIV
前言XV
第1章初識Express
1.1JavaScript革命
1.2初識Express
1.3Express簡史
1.4升級到Express4.0
1.5Node:一種新型Web服務器
1.6Node的生態系統
1.7授權

第2章從Node開始
2.1獲取Node
2.2使用終端
2.3編輯器
2.4npm
2.5用Node實現的簡單Web服務器
2.5.1HelloWorld
2.5.2事件驅動編程
2.5.3路由
2.5.4靜態資源服務
2.6走向Express

第3章省時省力的Express
3.1腳手架
3.2草地鷚旅行社網站
3.3初始步驟
3.3.1視圖和佈局
3.3.2視圖和靜態文件
3.3.3視圖中的動態內容
3.4小結

第4章工欲善其事,必先利其器
4.1最佳實踐
4.2版本控制
4.3針對本書如何使用Git
4.3.1如果你要自己動手
4.3.2如果你要使用官方存儲庫
4.4npm包
4.5項目元數據
4.6Node模塊

第5章質量保證
5.1QA:值得嗎
5.2邏輯與展示
5.3測試的類型
5.4QA技術概覽
5.5運行你的服務器
5.6頁面測試
5.7跨頁測試
5.8邏輯測試
5.9去毛
5.10鏈接檢查
5.11用Grunt實現自動化
5.12持續集成

第6章請求和響應對象
6.1URL的組成部分
6.2HTTP請求方法
6.3請求報頭
6.4響應報頭
6.5互聯網媒體類型
6.6請求體
6.7參數
6.8請求對象
6.9響應對象
6.10獲取更多信息
6.11小結
6.11.1內容渲染
6.11.2處理表單
6.11.3提供一個API

第7章Handlebars模板引擎
7.1唯一一條絕對規則
7.2選擇模板引擎
7.3Jade:不走尋常路
7.4Handlebars基礎
7.4.1註釋
7.4.2塊級表達式
7.4.3服務器端模板
7.4.4視圖和佈局
7.4.5在Express中使用(或不使用)佈局
7.4.6局部文件
7.4.7段落
7.4.8完善你的模板
7.4.9客戶端Handlebars
7.5小結

第8章表單處理
8.1向服務器發送客戶端數據
8.2HTML表單
8.3編碼
8.4處理表單的不同方式
8.5Express表單處理
8.6處理AJAX表單
8.7文件上傳
8.8jQuery文件上傳

第9章Cookie與會話
9.1憑證的外化
9.2Express中的Cookie
9.3檢查Cookie
9.4會話
9.4.1內存存儲
9.4.2使用會話
9.5用會話實現即顯消息
9.6會話的用途

第10章中間件
10.1常用中間件
10.2第三方中間件

第11章發送郵件
11.1SMTP、MSA和MTA
11.2接收郵件
11.3郵件頭
11.4郵件格式
11.5HTML郵件
11.6Nodemailer
11.6.1發送郵件
11.6.2將郵件發送給多個接收者
11.7發送批量郵件的更佳選擇
11.8發送HTML郵件
11.8.1HTML郵件中的圖片
11.8.2用視圖發送HTML郵件
11.8.3封裝郵件功能
11.9將郵件作為網站監測工具

第12章與生產相關的問題
12.1執行環境
12.2環境特定配置
12.3擴展你的網站
12.3.1用應用集群擴展
12.3.2處理未捕獲的異常
12.3.3用多台服務器擴展
12.4網站監控
12.4.1第三方正常運行監控
12.4.2應用程序故障
12.5壓力測試

第13章持久化
13.1文件系統持久化
13.2雲持久化
13.3數據庫持久化
13.3.1關於性能
13.3.2設置MongoDB
13.3.3Mongoose
13.3.4使用Mongoose連接數據庫
13.3.5創建模式和模型
13.3.6添加初始數據
13.3.7獲取數據
13.3.8添加數據
13.3.9用MongoDB存儲會話數據

第14章路由
14.1路由和SEO
14.2子域名
14.3路由處理器是中間件
14.4路由路徑和正則表達式
14.5路由參數
14.6組織路由
14.7在模塊中聲明路由
14.8按邏輯對處理器分組
14.9自動化渲染視圖
14.10其他的路由組織方式

第15章RESTAPI和JSON
15.1JSON和XML
15.2我們的API
15.3API錯誤報告
15.4跨域資源共享
15.5我們的數據存儲
15.6我們的測試
15.7用Express提供API
15.8使用REST插件
15.9使用子域名

第16章靜態內容
16.1性能方面的考慮
16.2面向未來的網站
16.2.1靜態映射
16.2.2視圖中的靜態資源
16.2.3CSS中的靜態資源
16.3服務器端JavaScript中的靜態資源
16.4客戶端JavaScript中的靜態資源
16.5提供靜態資源
16.6修改靜態內容
16.7打包和縮小
16.8關於第三方庫
16.9QA
16.10小結

第17章在Express中實現MVC
17.1模型
17.2視圖模型
17.3控制器
17.4小結

第18章安全
18.1HTTPS
18.1.1生成自己的證書
18.1.2使用免費的證書頒發機構
18.1.3購買證書
18.1.4對你的Express應用啟用HTTPS
18.1.5關於端口的說明
18.1.6HTTPS和代理
18.2跨站請求偽造
18.3認證
18.3.1認證與授權
18.3.2密碼的問題
18.3.3第三方認證
18.3.4把用戶存在數據庫中
18.3.5認證與註冊和用戶體驗
18.3.6Passport
18.3.7基於角色的授權
18.3.8添加更多認證提供者
18.4小結

第19章集成第三方API
19.1社交媒體
19.1.1社交媒體插件和站點性能
19.1.2搜索推文
19.1.3渲染推文
19.2地理編碼
19.2.1用谷歌的地理編碼
19.2.2對你的數據做地理編碼
19.2.3顯示地圖
19.2.4提升客戶端性能
19.3天氣數據
19.4小結

第20章調試
20.1調試的首要原則
20.2利用好REPL和控制台
20.3利用Node內置的調試器
20.4Node探查器
20.5調試異步函數
20.6調試Express

第21章正式啟用
21.1域名註冊和託管服務
21.1.1域名系統
21.1.2安全
21.1.3頂級域名
21.1.4子域名
21.1.5域名服務器
21.1.6託管
21.1.7部署
21.2小結

第22章維護
22.1維護的原則
22.1.1有長遠規劃
22.1.2使用源碼控制系統
22.1.3使用問題追踪系統
22.1.4良好的衛生習慣
22.1.5不要拖延
22.1.6做常規的QA檢查
22.1.7監測分析
22.1.8性能優化
22.1.9潛在用戶追踪優先
22.1.10防止出現"不可見的"錯誤
22.2代碼重用及重構
22.2.1私有npm庫
22.2.2中間件
22.3小結

第23章其他資源
23.1在線文檔
23.2期刊
23.3StackOverflow
23.4為Express做貢獻
23.5小結
關於封面
關於作者