高效全平臺全棧開發:Node.js + Express + MongoDB + Reac
內容描述
本書的大體結構是先在導論篇探討全平臺開發的基本原理、基本思路和技術路線,然後在基礎篇為初學者補習開發所需相關基礎知識,從第三篇開始到結束,用一個電子留言板(BBS)的項目開發例子貫穿始終,包含了設計篇、數據庫篇、API篇、Web端篇、桌面端篇和移動端篇。讓讀者在實踐中循序漸進地掌握技術和產品的實現思路。主要面向的讀者人群是以應聘Nodejs全棧工程師、React前端工程師、React-Native工程師為目標的學生或開發人員。
目錄大綱
目錄
第1章全平臺開發導論
1.1請求/響應模型
1.1.1請求
1.1.2響應
1.1.3JSON格式
1.1.4Postman
1.1.5小結
1.2前後端分離與全平臺開發
1.2.1前端與後端
1.2.2RESTful API
1.2.3全平臺高效開發的基本思路
1.2.4小結
1.3準備工作
1.3.1硬件準備
1.3.2命令行工具
1.3.3瀏覽器
1.3.4編輯器
1.3.5小結
第2章前端三大核心技術
2.1HTML
2.1.1元素及元素結構
2.1.2元素的層級化與HTML文檔
2.1.3表單相關
2.1.4小結
2.2CSS
2.2.1CSS格式與盒子模型
2.2.2選擇器
2.2.3插入樣式
2.2.4組件庫Bootstrap
2.2.5小結
2.3JavaScript基礎
2.3.1使用方法
2.3.2功用與流程
2.3.3獲取頁面元素信息
2.3.4變量賦值與數據類型
2.3.5條件
2.3.6循環
2.3.7函數
2.3.8輸出
2.3.9響應事件
2.3.10小結
2.4JavaScript進階
2.4.1ES 5
2.4.2ES 6
2.4.3ES 7和ES 8
2.4.4小結
第3章設計方法論
3.1產品設計
3.1.1需求分析與用例圖
3.1.2DASP設計模式
3.1.3數據化設計
3.1.4接口化設計
3.1.5結構化設計
3.1.6小結
3.2原型設計
3.2.1原型設計工具
3.2.2產品原型
3.2.3頁面狀態切換
3.2.4小結
第4章Node.js
4.1概述
4.1.1安裝
4.1.2REPL
4.1.3執行腳本
4.1.4小結
4.2使用方法
4.2.1項目的初始化
4.2.2模塊系統
4.2.3安裝第三方庫
4.2.4文件系統
4.2.5小結
第5章數據庫開發
5.1非關系型數據庫MongoDB
5.1.1優勢與基本概念
5.1.2安裝
5.1.3基本操作
5.1.4MongoDB的CRUD
5.1.5數據庫可視化
5.1.6小結
5.2數據建模工具Mongoose
5.2.1簡介與安裝
5.2.2圖式
5.2.3模型
5.2.4連接
5.2.5Mongoose的CRUD
5.2.6小結
第6章後端接口開發
6.1HTTP服務器Express
6.1.1安裝與基本用法
6.1.2靜態文件的托管
6.1.3路由
6.1.4請求體與響應體
6.1.5與Mongoose結合
6.1.6小結
6.2用戶相關接口的具體實現
6.2.1接口的模塊化
6.2.2身份認證機制
6.2.3註冊接口
6.2.4登錄接口
6.2.5驗證接口
6.2.6退出接口
6.2.7修改用戶信息接口
6.2.8瀏覽特定用戶信息接口
6.2.9小結
6.3帖子相關接口的具體實現
6.3.1新增帖子接口
6.3.2新增回復接口
6.3.3查看帖子接口
6.3.4修改帖子接口
6.3.5刪除帖子接口
6.3.6小結
第7章Web 客戶端開發入門
7.1模塊打包器——Webpack
7.1.1功用
7.1.2安裝與配置
7.1.3npm腳本
7.1.4Web客戶端的打包
7.1.5require與import
7.1.6小結
7.2前端框架——React
7.2.1特色
7.2.2安裝
7.2.3第一個React組件
7.2.4JSX語法
7.2.5組件化
7.2.6props
7.2.7state
7.2.8useEffect
7.2.9調用API
7.2.10小結
7.3UI組件庫——React Bootstrap
7.3.1React的UI組件庫
7.3.2React Bootstrap的安裝與使用
7.3.3美化組件
7.3.4小結
第8章Web 客戶端開發實戰
8.1表單類組件的具體實現
8.1.1註冊表單——RegisterForm
8.1.2登錄表單——LoginForm
8.1.3修改用戶信息表單——SettingForm
8.1.4發布帖子表單——PostForm
8.1.5修改帖子表單——ModifyForm
8.1.6回復帖子表單——ReplyForm
8.1.7小結
8.2其他組件的具體實現
8.2.1底欄——Footer
8.2.2標題欄——Header
8.2.3用戶信息——UserInfo
8.2.4首頁簡介——Introduction
8.2.5帖子詳情——Thread
8.2.6刪除帖子按鈕——DeleteButton
8.2.7小結
第9章Web 客戶端開發進階
9.1組件的裝配
9.1.1柵格佈局——Grid
9.1.2首頁頁面——HomePage
9.1.3帖子列表頁面——ThreadListPage
9.1.4帖子頁面——ThreadPage
9.1.5瀏覽資料頁面——ProfilePage
9.1.6修改資料頁面——SettingPage
9.1.7小結
9.2路由器——React Router
9.2.1安裝與使用
9.2.2添加鏈接
9.2.3同步頁面
9.2.4嵌套路由與URL傳參
9.2.5頁面跳轉
9.2.6小結
9.3React狀態管理
9.3.1React狀態管理的前世今生
9.3.2上下文——Context
9.3.3使用上下文——useContext
9.3.4組件的權限判定
9.3.5小結
9.4服務端渲染
9.4.1SPA——單頁面應用
9.4.2SSR——服務端渲染
9.4.3SEO——React Helmet
9.4.4小結
第10章桌面客戶端開發
10.1Electron
10.1.1簡介
10.1.2最小用例
10.1.3項目結構
10.1.4菜單
10.1.5UI庫
10.1.6兩個進程之間的通信
10.1.7小結
10.2Web端應用的桌面端移植
10.2.1組件復用與接口調用
10.2.2菜單與主界面的聯動
10.2.3桌面端中的頁面切換
10.2.4工具欄與底欄的實現
10.2.5工具欄與主界面的聯動
10.2.6小結
第11章移動客戶端開發
11.1React Native
11.1.1簡介
11.1.2最小用例
11.1.3Props與State
11.1.4調用API
11.1.5路由
11.1.6UI庫
11.1.7小結
11.2Web端應用的移動端移植
11.2.1讀取畫面的實現
11.2.2註冊登錄的實現
11.2.3主界面的實現
11.2.4抽屜側欄的實現
11.2.5帖子列表的實現
11.2.6帖子詳情的實現
11.2.7用戶信息修改的實現
11.2.8小結
第12章 產品部署
12.1Web端部署
12.1.1購買主機
12.1.2產品部署
12.1.3小結
12.2桌面端部署
12.2.1可執行文件
12.2.2可安裝文件
12.2.3小結
12.3移動端部署
12.3.1打包及發布
12.3.2小結
第13章擴展案例
13.1Web端案例——在線中文分詞系統
13.1.1案例概述
13.1.2基本框架的搭建
13.1.3UI的組建
13.1.4API的實現
13.1.5Python腳本的調用
13.1.6小結
13.2桌面端案例——所見即所得的思維導圖軟件
13.2.1案例概述
13.2.2基本框架的搭建
13.2.3繪圖庫的使用
13.2.4工具欄的實現
13.2.5菜單欄的改進
13.2.6小結
13.3移動端案例——實時通信的聊天室應用
13.3.1案例概述
13.3.2基本框架的搭建
13.3.3系統廣播的實現
13.3.4實時通信的實現
13.3.5小結
附錄AHTML常用標簽
附錄BCSS常用屬性
附錄CBootstrap主要預定義樣式
參考文獻
作者介紹
吳曉一,遼寧大學哲學與管理專業畢業,獲管理學學士學位;北京外國語大學日本學研究中心日語語言學專業畢業,獲文學碩士學位;奈良先端科學技術大學院大學信息科學專業,獲工學博士學位。主要研究方向:語料庫語言學,自然語言處理(NLP),機器學習(ML)