JavaScript全棧開發實戰檢視原始碼討論檢視歷史
《JavaScript全棧開發實戰》,Adam,D.,Scott,安道 著,出版社: 中國電力出版社。
隨着科學技術日新月異地發展,傳播知識信息手段[1],除了書籍、報刊外,其他工具也逐漸產生和發展起來。但書籍的作用,是其他傳播工具或手段所不能代替的。在當代,無論是中國,還是其他國家,書籍仍然是促進社會政治、經濟、文化發展必不可少的重要傳播工具[2]。
內容簡介
本書詳細說明了如何創建一個能適應各種平台的CRUD風格的應用。本書主要內容有:了解GraphQL查詢數據的簡單流程。學習API、Web應用和原生應用驗證身份的共同方式。使用React和Styled Components構建高性能的Web應用。使用React Native編寫可編譯為原生代碼的iOS和Android跨平台應用。學習使用Electron編寫桌面應用。
目錄
序 .1
前言 .3
第 1 章 開發環境 9
1.1 文本編輯器 . 10
1.2 終端 10
1.2.1 使用專門的終端應用 10
1.2.2 使用 VSCode 11
1.2.3 在文件系統中變換位置 11
1.3 命令行工具和Homebrew(僅適用Mac 用戶) 12
1.4 Node.js 和 NPM 12
1.4.1 在 macOS 中安裝 Node.js 和 NPM 13
1.4.2 在 Windows 中安裝 Node.js 和 NPM 13
1.5 MongoDB 14
1.5.1 在 macOS 中安裝和運行 MongoDB . 14
1.5.2 在 Windows 中安裝和運行 MongoDB . 15
1.6 Git 16
1.7 Expo 16
1.8 Prettier 17
1.9 ESLint 17
1.10 美化 . 18
1.11 小結 . 18
第 2 章 API 簡介 19
2.1 構建什麼 19
2.2 如何構建 20
2.3 開始動手 21
2.4 小結 22
第 3 章 使用Node 和Express 開發Web 應用 23
3.1 Hello World . 23
3.2 Nodemon 24
3.3 擴展端口選項 26
3.4 小結 27
第 4 章 首個 GraphQL API 28
4.1 把服務器(初步)改造成 API 28
4.2 GraphQL 基礎知識 . 33
4.2.1 模式 33
4.2.2 解析器 . 34
4.3 改造 API 35
4.4 小結 43
第 5 章 數據庫 44
5.1 MongoDB 入門 . 45
5.2 在應用中連接 MongoDB . 47
5.3 在應用中讀寫數據 51
5.4 小結 59
第 6 章 CRUD 操作 60
6.1 分離 GraphQL 模式和解析器 60
6.2 編寫 GraphQL CRUD 模式 . 64
6.3 CRUD 解析器 65
6.4 日期和時間 . 67
6.5 小結 70
第 7 章 用戶賬戶和身份驗證 71
7.1 應用身份驗證流程 71
7.2 加密和令牌 . 73
7.2.1 加密密碼. 73
7.2.2 JSON Web Tokens 74
7.3 在 API 中集成身份驗證功能 . 75
7.3.1 User 模式 76
7.3.2 身份驗證解析器 . 78
7.4 把用戶添加到解析器上下文中 . 82
7.5 小結 85
第 8 章 用戶操作 .86
8.1 準備工作 86
8.2 新建筆記時指定用戶 . 87
8.3 用戶的更新和刪除權限 89
8.4 用戶查詢 91
8.5 收藏筆記 94
8.6 嵌套查詢 99
8.7 小結 . 102
第 9 章 細節優化 103
9.1 Web 應用和 Express.js 最佳實踐 103
9.1.1 Express Helmet . 103
9.1.2 跨域資源共享 104
9.2 分頁 . 105
9.3 數據限制 107
9.4 其他事項 109
9.4.1 測試 109
9.4.2 訂閱 109
9.4.3 Apollo GraphQL Platform 109
9.5 小結 . 110
第 10 章 部署 API . 111
10.1 託管數據庫 112
10.2 部署應用 . 118
10.2.1 項目設置 118
10.2.2 部署 . 120
10.2.3 測試 . 120
10.3 小結 121
第 11 章 用戶界面和 React 122
11.1 JavaScript 和 UI 123
11.2 JavaScript 聲明式界面 . 124
11.3 React 入門 124
11.4 小結 130
第 12 章 使用React 構建Web 客戶端 . 131
12.1 構建什麼 . 131
12.2 如何構建 . 132
12.3 開始動手 . 133
12.4 構建 Web 應用 . 134
12.5 路由 136
12.6 UI 組件 141
12.7 小結 144
第 13 章 裝飾應用 145
13.1 創建布局組件 145
13.2 CSS 148
13.2.1 CSS-in-JS 149
13.2.2 創建一個按鈕組件 150
13.2.3 添加全局樣式 . 152
13.2.4 組件樣式 154
13.3 小結 158
第 14 章 使用 Apollo Client 159
14.1 設置 Apollo Client . 160
14.2 查詢 API . 162
14.3 動態查詢 . 173
14.4 分頁 177
14.5 小結 179
第 15 章 Web 身份驗證和狀態管理 180
15.1 創建註冊表單 180
15.1.1 React 表單和狀態 . 184
15.1.2 signUp 變更操作 186
15.1.3 JSON Web Token 和本地存儲器 189
15.2 重定向 . 190
15.3 為請求附加首部 190
15.4 本地狀態管理 191
15.5 退出 195
15.6 創建登錄表單 198
15.7 受保護的路由 203
15.8 小結 205
第 16 章 創建、讀取、更新和刪除操作 207
16.1 新建筆記 . 207
16.2 讀取用戶的筆記 214
16.3 更新筆記 . 218
16.4 刪除筆記 . 226
16.5 收藏筆記 . 228
16.6 小結 232
第 17 章 部署Web 應用 . 233
17.1 靜態網站 . 233
17.2 我們的部署流水線 . 235
17.2.1 使用 Git 託管源碼 235
17.2.2 使用 Netlify 部署 237
17.3 小結 239
第 18 章 使用Electron 開發桌面應用 240
18.1 構建什麼 . 240
18.2 如何構建 . 241
18.3 開始動手 . 241
18.4 首個 Electron 應用 . 242
18.5 特別處理 macOS 應用窗口 244
18.6 開發者工具 245
18.7 Electron API 246
18.8 小結 247
第 19 章 使用Electron 集成現有的Web 應用 248
19.1 集成 Web 應用 . 248
19.2 配置 251
19.3 內容安全策略 252
19.4 小結 255
第 20 章 部署Electron 應用 . 256
20.1 Electron Builder 256
20.2 針對當前平台構建 . 258
20.3 應用圖標 . 259
20.4 針對多個平台構建 . 260
20.5 代碼簽名 . 260
20.6 小結 261
第 21 章 使用React Native 開發移動應用 . 262
21.1 構建什麼 . 263
21.2 如何構建 . 263
21.3 開始動手 . 264
21.4 小結 268
第 22 章 移動應用shell . 269
22.1 React Native 構件 269
22.2 樣式和 Styled Components 271
22.3 路由 275
22.3.1 使用 React Navigation 實現標籤頁路由 276
22.3.2 堆疊導航 279
22.3.3 添加界面標題 . 284
22.4 圖標 285
22.5 小結 287
第 23 章 GraphQL 和React Native 288
23.1 創建列表和滾動內容視圖 289
23.2 使用 Apollo Client 操作 GraphQL . 297
23.3 添加加載中指示符 . 304
23.4 小結 306
第 24 章 移動應用身份驗證 307
24.1 身份驗證路由流程 . 307
24.2 創建登錄表單 317
24.3 通過 GraphQL 變更操作驗證身份 . 322
24.4 帶身份驗證信息的 GraphQL 查詢 . 324
24.5 添加註冊表單 329
24.6 小結 335
第 25 章 分發移動應用 337
25.1 配置 app.json 337
25.2 圖標和應用加載界面 340
25.2.1 應用圖標 340
25.2.2 啟動畫面 341
25.3 發布到 Expo 中 342
25.4 創建原生構建包 343
25.4.1 iOS 344
25.4.2 Android 345
25.5 分發到應用商店中 . 346
25.6 小結 346
後記 347
附錄A 在本地運行 API 349
附錄B 在本地運行Web 應用 . 351
作者介紹 353
封面介紹 353
參考文獻
- ↑ 漲知識:古人用什麼方法傳遞信息?,搜狐,2017-04-03
- ↑ 書究竟有何用?,搜狐,2017-07-18