Web 前端模塊化開發教程 (ES6+Node.js+Webpack)
內容描述
本書適合具有JavaScript基礎,想要學習Web前端模塊化開發的人群使用,詳細講解了模塊化開發涉及的ES6、Node.js和Webpack技術。
全書共8章:第1章講解ES6基礎內容;第2、3章講解Node.js模塊化開發和服務器開發的相關內容;第4章講解Express框架;第5、6章講解Ajax相關知識;第7章講解Webpack打包工具;第8章是項目實戰——博客管理系統。
本書既可作為高等教育本、專科院校電腦相關專業的教材,也可作為Web前端開發愛好者的參考讀物。
目錄大綱
1章 ES6基礎 1
1.1 初識ES6 1
1.2 let和const關鍵字 2
1.2.1 let關鍵字 2
1.2.2 const關鍵字 4
1.2.3 let、const、var關鍵字之間的區別 5
1.3 解構賦值 6
1.3.1 數組的解構賦值 6
1.3.2 對象的解構賦值 7
1.4 箭頭函數 8
1.4.1 箭頭函數的語法 8
1.4.2 箭頭函數的特點 8
1.4.3 箭頭函數中的this關鍵字 9
1.5 剩餘參數 10
1.5.1 剩餘參數的語法 10
1.5.2 剩餘參數和解構賦值配合使用 12
1.6 擴展運算符 12
1.6.1 擴展運算符的語法 12
1.6.2 擴展運算符的應用 13
1.7 模板字符串 14
1.7.1 模板字符串的語法 14
1.7.2 模板字符串的應用 15
1.8 ES6的內置對象擴展 16
1.8.1 數組的擴展方法 16
1.8.2 字符串的擴展方法 19
1.9 Set數據結構 19
1.9.1 Set數據結構的基本使用 20
1.9.2 Set實例的作方法 21
1.9.3 Set實例的遍歷方法 22
1.10 初識Symbol 22
1.10.1 Symbol的基本使用 23
1.10.2 使用Symbol作為對象屬性名 23
本章小結 24
課後練習 24
2章 de.js模塊化開發 27
2.1 de.js運行環境搭建 27
2.1.1 下載和安裝 28
2.1.2 de.js環境常見安裝失敗情況 30
2.2 de.js的基本使用 34
2.2.1 de.js的組成 34
2.2.2 de.js基礎語法 34
2.2.3 de.js全局對象global 35
2.3 初識模塊化開發 36
2.3.1 傳統JavaScript開發的弊端 36
2.3.2 模塊化的概念 37
2.4 模塊成員的導入和導出 38
2.4.1 eports和require() 38
2.4.2 module.eports 39
2.4.3 eports和module.eports的區別 40
2.4.4 ES6中的eport和import 41
2.5 de.js系統模塊 42
2.5.1 使用fs模塊進行文件作 42
2.5.2 使用path模塊進行路徑作 44
2.6 de.js三方模塊 46
2.6.1 什麼是三方模塊 46
2.6.2 獲取三方模塊 46
2.7 de.js常用開發工具 48
2.7.1 demon工具 48
2.7.2 nrm工具 49
2.7.3 gulp工具 50
2.8 在項目中使用gulp 53
2.8.1 gulp中的常用插件 53
2.8.2 壓縮並抽取HTML中的公共代碼 54
2.8.3 壓縮並轉換Less語法 56
2.8.4 壓縮並轉換ES6語法 58
2.8.5 複製目錄 61
2.8.6 執行全部構建任務 61
2.9 項目依賴管理 62
2.9.1 package.json文件 62
2.9.2 查看項目依賴 63
2.10 de.js模塊加載機制 65
2.10.1 當模塊擁有路徑但沒有後綴時 65
2.10.2 當模塊沒有路徑且沒有後綴時 67
本章小結 69
課後練習 69
3章 de.js服務器開發 71
3.1 服務器開發的基本概念 71
3.1.1 前端開發人員為什麼學習服務器開發 71
3.1.2 服務器開發可以做哪些事情 72
3.1.3 de.js開發服務器的優勢 72
3.1.4 網站應用程序的組成 73
3.2 de.js網站服務器 74
3.2.1 初識de.js網站服務器 74
3.2.2 創建de.js網站服務器 76
3.3 HTTP協議 77
3.3.1 HTTP協議概念 77
3.3.2 HTTP的請求消息和響應消息 78
3.3.3 請求消息 79
3.3.4 響應消息 83
3.4 HTTP請求與響應處理 85
3.4.1 GET請求參數 85
3.4.2 POST請求參數 87
3.4.3 路由 89
3.4.4 靜態資源訪問 90
3.5 de.js異步編程 92
3.5.1 同步異步API的概念 92
3.5.2 獲取異步API的返回值 93
3.5.3 異步編程中回調地獄的問題 94
3.5.4 利用Promise解決回調地獄 94
3.5.5 異步函數 96
3.6 用戶信息列表案例 98
3.6.1 用戶信息列表案例展示 98
3.6.2 用戶信息列表功能介紹 100
3.6.3 知識拓展——MongoDB數據庫 101
3.7 學生檔案管理案例 101
3.7.1 學生檔案管理案例展示 102
3.7.2 學生檔案管理功能介紹 103
3.7.3 知識拓展——服務器端art-template模板引擎 104
本章小結 105
課後練習 105
4章 Epress框架 108
4.1 初識Epress 108
4.1.1 什麼是Epress 108
4.1.2 安裝Epress 109
4.1.3 利用Epress搭建Web服務器 110
4.2 Epress中間件 111
4.2.1 什麼是中間件 111
4.2.2 定義中間件 112
4.2.3 利用中間件處理靜態資源 118
4.2.4 利用中間件處理錯誤 120
4.2.5 利用中間件捕獲異步函數錯誤 122
4.3 Epress模塊化路由 123
4.3.1 模塊化路由的基本使用 124
4.3.2 構建模塊化路由 125
4.4 Epress接收請求參數 127
4.4.1 Epress接收GET請求參數 127
4.4.2 Epress接收POST請求參數 128
4.4.3 Epress接收路由參數 130
4.5 Epress模板引擎 131
4.5.1 配置模板引擎 131
4.5.2 模板引擎的簡單使用 132
本章小結 133
課後練習 133
5章 Aja(上) 135
5.1 初識Aja 135
5.1.1 傳統網站中存在的問題 135
5.1.2 Aja的工作原理 136
5.2 Aja基本實現步驟 137
5.2.1 創建服務器 137
5.2.2 配置Aja對象 137
5.2.3 獲取服務器端的響應 138
5.3 請求參數 140
5.3.1 GET請求參數的傳遞 140
5.3.2 POST請求參數的傳遞 142
5.4 Aja異步編程 145
5.5 Aja錯誤處理 147
5.5.1 HTTP狀態碼 147
5.5.2 onerror事件 149
5.6 Aja封裝 150
5.6.1 初步封裝aja()函數 150
5.6.2 傳遞Aja請求參數 152
5.6.3 判斷請求成功或失敗 154
5.6.4 處理服務器返回的JSON數據 155
5.6.5 實現可選參數 156
本章小結 158
課後練習 158
6章 Aja(下) 160
6.1 FormData對象 160
6.1.1 FormData對象實例方法 160
6.1.2 FormData對象實例方法的使用 161
6.1.3 formidable表單解析對象的使用 163
6.1.4 上傳二進製文件 165
6.2 瀏覽器端art-template模板引擎 168
6.2.1 art-template模板引擎的下載和使用 168
6.2.2 art-template模板引擎渲染數據 170
6.3 Aja同源策略 172
6.3.1 什麼是Aja同源策略 172
6.3.2 JSONP解決跨域請求問題 175
6.3.3 rquest模塊解決跨域請求問題 177
6.4 jQuery中的Aja 179
6.4.1 下載jQuery 179
6.4.2 $.aja()方法 179
6.4.3 Aja輔助方法 184
6.5 文章列表案例 186
6.5.1 文章列表案例展示 186
6.5.2 文章列表案例功能介紹 186
6.5.3 知識拓展——jQuery Mobile 187
本章小結 191
課後練習 192
7章 Webpack打包工具 193
7.1 初識Webpack 193
7.1.1 什麼是Webpack 193
7.1.2 Webpack的安裝與使用 194
7.1.3 手動配置入口和出口文件 195
7.1.4 使用Webpack實現列表隔行換色效果 196
7.2 Webpack自動打包 197
7.2.1 配置webpack-dev-server 197
7.2.2 配置html-webpack-plugin 198
7.3 Webpack中的加載器 199
7.3.1 css-loader和style-loader加載器 199
7.3.2 sass-loader加載器 201
7.3.3 less-loader加載器 202
7.3.4 postcss-loader加載器 203
7.3.5 url-loader加載器 204
7.3.6 babel-loader加載器 205
7.4 Vue.js單文件組件 208
7.4.1 Vue.js單文件組件的基本使用 208
7.4.2 配置vue-loader加載器 209
7.4.3 Webpack打包發布 211
本章小結 211
課後練習 212
8章 項目實戰——博客管理系統 213
8.1 項目展示 213
8.2 功能介紹 217
本章小結 218
作者介紹
黑馬程序員,成立於2006年,由中國Java培訓先行者張孝祥老師發起,聯合 的中文IT社區CSDN、中關村軟件園共同創辦的一家專業教育機構。
辦學至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念,堅持培養 軟件應用工程師的宏偉目標,在累計培養的十萬餘名學員中,其中90%的學員均已在北、上、廣等一線城市高薪就業。
為了迎合軟件市場的需求,我們陸續開設了Java、網頁平面、PHP、.Net、iOS、C/C++、Android等9個專業方向的課程,並且未來將逐漸開設其他專業方向的課程。
隨著傳智播客的日益壯大,除了北京總部,我們在上海、廣州、武漢、成都、深圳等地也創立了直營分支機構,傳智播客儼然已成為了 專業口碑的IT教育機構。