Vue.js 前端開發基礎與項目實戰
內容描述
本書以項目實戰的方式引導讀者漸進式學習Vue. js。
本書從Vue.js的基礎語法講起,然後介紹ES6的語法規範,
後通過項目構建、項目部署介紹Vue.js項目開發的全套流程。
本書內容側重於Vue.js項目實戰開發中的組件復用、代碼解耦等操作,
讀者不但可以系統地學習Vue.js的相關知識,
而且能對Vue.js的開發應用有更為深入的理解。
本書分為基礎準備篇和項目實戰篇。基礎準備篇主要介紹Vue.js的核心功能,
包括但不限於Vue.js的語法與組件、ES6的語法規範、前後端項目框架的構建、
數據庫及其相關操作。項目實戰篇主要以網頁版知乎為例講解實戰開發流程與方法,
所涉及的項目分析、開發流程、項目部署等內容可幫助讀者融會貫通地應用所學知識。
閱讀本書,讀者能夠掌握Vue.js框架主要API的使用方法、
組件開發、前後端項目聯調等內容。
本書示例豐富、側重實戰,適用於剛接觸或即將接觸Vue.js的發者,
也適用於對Vue.js有過開發經驗,但需要進一步提升的*發者。
目錄大綱
目錄:
第1篇基礎準備篇
第1章關於前端開發你需要知道的事........ 02
1.1網頁開發的前世今生........................ . 02
1.1.1是否還記得曾經的前端開發................ 02
1.1.2大前端時代的來臨............. ............ 03
1.2 MVC、MVP、MVVM傻傻分不清楚................. 05
1.2.1 MVC小解.. ................................ 05
1.2.2 MVP小解........... ....................... 06
1.2.3 MVVM小解.................... ............. 06
1.2.4三者的區別和優劣......................... 08
1.3工欲善其事,必先利其器..................... 08
1.3.1 發者的眼——Chrome..... ................ 08
1.3.2 發者的手——VS Code.................... 10
1.3.3 發者的心——Terminal................... 11
1.4小結................. ...................... 12
第2章關於Vue.js的一些小事............. 14
2.1從安裝開始...................... ........... 14
2.1.1直接引入................................. 14
2.1.2腳手架的配置............................. 15
2.1.3腳手架的使用....... ...................... 16
2.2 Vue.js初體驗..................... .......... 21
2.2.1項目文件內容介紹......................... 21
2.2.2必不可少的Helle World.................... 23
2.2.3經典的TodoList.................... ....... 25
2.3了解一些特性............................... 31
2.3.1新建實例. ................................ 31
2.3.2生命週期............ ..................... 32
2.3.3模板語法....................... ....................... 34
2.3.4計算屬性與過濾器...................................... 34
2.3.5樣式的修改............................................ 36
2.3. 6條件與列表渲染........................................ 40
2.3.7事件的處理............................................ 43
2.3.8雙向綁定.............................................. 46
2.4小結................................................ ... 49
第3章組件詳解................................... 51
3.1組件概念.. ............................................. 51
3.1.1什麼是組件............................................ 51
3.1.2為什麼要使用組件...................................... 52
3.2組件創建.... ........................................... 53
3.2.1組件基礎............................................. . 53
3.2.2組件註冊........................................... ... 55
3.3組件通信........................................... .... 55
3.3.1父組件與子組件通信.................................... 56
3.3.2子組件與父組件通信.................................... 58
3.3.3子組件之間的通信...................................... 59
3.4插槽.. ................................................. 60
3.5特殊情況............................................... 62
3.6小結............................................... .... 65
第4章ES6的日常使用.............................. 66
4.1關於ES6你需要知道的事................................. 66
4.1.1 ES的發展歷史.......................................... 66
4.1.2 ES6和JS的關係........................................ 67
4.1 .3為什麼要使用ES6....................................... 68
4.2 ES6常用語法簡介........................................ 70
4.2.1 Demo的分析.. .......................................... 70
4.2.2用戶獲取數據的方法.................................... 72
4.2.3輸出用戶輸入信息的方法... ............................. 73
4.2.4判斷喜歡地點的方法........... ....................... 74
4.2.5判斷支出類型的方法.................. .................. 75
4.2.6保存數據.......................... .................... 76
4.3 Babel的支持......................... ................... 76
4.3.1 Babel是什麼........................................... 76
4.3.2 Babel文件配置......................................... 78
4.3. 3 Babel的實際調用....................................... 80
4.4小結... ................................................ 81
第5章項目的構建................................. 82
5.1前端項目構建——Webpack.... ............................ 82
5.1.1 Webpack是什麼............... .......................... 82
5.1.2 Webpack的特點................. ........................ 83
5.1.3 Webpack配置規範................... .................... 83
5.1.4 Webpack整體配置一覽...................... ............. 87
5.1.5 Webpack使用............................... ............ 88
5.1.6 Webpack4.X的新特性.................................... 89
5.2前端常用插件的介紹..................................... 90
5.2.1 Axios...... ........................................... 90
5.2.2 Element.. ............................................. 93
5.2.3 Sass .................................................. 97
5.2.4 Esl int............................................ ... 100
5.3後端項目構建——Koa................................... 102
5.3. 1為什麼選擇Koa........................................ 102
5.3.2構建Koa項目......................................... 105
5.3.3 koa-router的優化..................................... 106
5.4數據庫——MySQL...... ................................. 108
5.4.1 MySQL簡介............................................ 108
5.4.2 MySQL的安裝.......................................... 109
5.4 .3 Sequelize的使用...................................... 111
5.5小結.... .............................................. 114
第2篇項目實戰篇
第6章項目分析與設計............................ 118
6.1我們要做一個什麼項目.... .............................. 118
6.2實現哪些功能,需要哪些頁面........... ................. 121
6.2.1需求分析........................... .................. 121
6.2.2頁面設計.......................... ................... 121
6.2.3提取公用插件........................ ................. 123
6.3路由的分配............................ ................ 123
6.3.1一級路由的確定....................................... 123
6.3. 2二級路由的確定....................................... 124
6.4數據庫內容的確定...................................... 125
6.4.1根據需求確定數據表結構. .............................. 125
6.4.2主要字段的配置............ ........................... 126
6.5小結.................... .............................. 128
第7章基礎頁面的開發............ ................ 129
7.1主頁的開發............................. ............... 129
7.1.1頁面主體header框架開發.......................... .... 129
7.1.2主頁路由配置....................................... .. 131
7.1.3主頁header剩餘內容開發.............................. 132
7.1.4第三方ICON庫的引入.................................. 133
7.1.5首頁主體框架開發..................................... 134
7.1.6首頁右側側邊欄次組件開發............................. 136
7.1.7首頁右側側邊欄主組件開發. ............................ 138
7.1.8主頁列表外內容效果展示............ ................... 140
7.1.9內容列表表頭開發...................... ............... 140
7.1.10模擬數據獲取............................ ............ 142
7.1.11列表元素開發............................... ......... 143
7.1.12列表操作按鈕開發................................. ... 145
7.1.13列表系列組件的調用.................................. 147
7.1.14首頁列表效果展示.................................... 149
7.2登錄註冊頁面的開發... ................................. 150
7.2.1確定登錄頁背景框架........ ........................... 150
7.2.2登錄頁靜態內容....................................... 152
7.2.3登錄頁表單驗證等相關內容............................. 154
7.2.4登錄頁信息提示及整體效果... .......................... 157
7.3註冊登錄功能實現.................. .................... 158
7.3.1數據表的確定...................... ................... 158
7.3.2用戶註冊功能實現....................... .............. 161
7.3.3用戶登錄登出與信息存儲......................... ...... 164
7.4小結......................................... ......... 169
第8章文章和問題的日常操作...................... 170
8.1圖片和富文本的處理. ................................... 170
8.1.1富文本插件的使用...... ............................... 170
8.1.2文章編輯頁header組件開發......... ................... 172
8.1.3文章編輯頁主組件開發................................. 174
8.1.4文章編輯頁路由註冊與效果展示......................... 175
8.1.5文章編輯頁發布文章方法........... .................... 176
8.1.6圖片的上傳接口開發..................... .............. 177
8.1.7圖片上傳前端開發............................ ......... 179
8.1.8富文本組件中的圖片上傳.............................. . 180
8.2文章的增、刪、改、查.................................. 182
8.2.1文章新增頁面的跳轉................................... 182
8.2.2文章相關數據表配置................................... 182
8.2.3文章增加刪除接口的開發.... ........................... 185
8.2.4文章查詢更新接口開發.............. ................... 188
8.2.5文章列表開發........................ ................. 190
8.2.6文章詳情頁面開發..................................... 192
8.2.7文章跳轉鏈接修改..................................... 195
8.3問題的增、改... ....................................... 195
8.3.1問題增加更新前端模塊開發. ............................ 196
8.3.2問題增加修改與header部分修改........... ............. 198
8.3.3問題數據表新建............................. .......... 200
8.3.4問題增加更新接口開發............................... .. 201
8.4小結............................................. ..... 203
第9章評論、回答和狀態的操作.................... 204
9.1問題回答的相關操作....... ............................. 204
9.1.1問題詳情前端頁面開發............ ..................... 204
9.1.2問題詳情前端邏輯開發.................... ............. 207
9.1.3新建回答數據表....................................... 210
9.1.4回答查找、刪除和更新接口............................. 211
9.1.5問題答案的查詢接口..... .............................. 214
9.1.6問題回答的前端展示........... ........................ 216
9.2評論的相關操作.................... .................... 219
9.2.1評論新建前端開發...................... ............... 219
9.2.2新建評論數據表........................... ............ 222
9.2.3評論新建查找刪除接口開發............................ . 223
9.2.4新建評論效果展示..................................... 226
9.2.5評論展示前端開發..................................... 227
9.2.6評論功能組件開發. .................................... 228
9.2.7評論功能組件調用...... ............................... 231
9.2.8一級評論效果展示..................................... 233
9.2.9評論列表的循環調用................................... 234
9.2.10多級評論效果展示.. .................................. 236
9.2.11評論個數展示........ ................................ 236
9.3狀態的相關操作............ ............................ 238
9.3.1狀態的更新............... ............................ 238
9.3.2狀態中特殊情況的處理............ ..................... 242
9.4小結.......................... ........................ 243
第10章個人主頁的開發.................. .......... 245
10.1個人信息的修改.................................. ..... 245
10.1.1個人信息頁面的新建.................................. 245
10.1 .2個人信息頁面查看修改接口開發........................ 248
10.1.3個人信息頁面的跳轉.................................. 249
10.1.4個人座右銘的修改.................................... 252
10.1.5用戶頭像修改...... .................................. 254
10.2個人主頁列表開發.......... ........................... 258
10.2.1列錶框架的構建............... ....................... 258
10.2.2作者回答查詢接口開發.................. .............. 261
10.2.3作者回答查詢接口調用........................... ..... 262
10.2.4作者回答刪除功能開發................................ 264
10.2.5作者回答編輯功能開發................................ 267
10.2.6作者文章的查看功能開發... ........................... 270
10.2.7作者文章的刪除功能開發............. ................. 272
10.2.8作者文章的編輯功能開發....................... ....... 273
10.2.9提問的列表.......................................... 275
10.3小結................................................. 278
第11章項目的部署................................ 279
11.1服務器的購買與配置.... ............................... 279
11.2服務器的連接與配置............ ....................... 280
11.2.1服務器連接的兩種方法................. ............... 281
11.2.2服務器環境安裝............................ .......... 282
11.2.3服務器數據庫詳細配置................................ 283
11.2.4服務器項目文件夾創建................................ 286
11.3服務部署..... ........................................ 286
11.3.1前端項目部署... ..................................... 286
11.3.2後端項目部署..... ................................... 289
11.4小結................................................ . 291
第12章總結...................................... 293
12.1第1篇內容回顧....................................... 293
12.2第2篇內容回顧... .................................... 294
12.3小結........... ...................................... 295
作者介紹
鄭韓京
就職於大數據廣告投放公司,多年研究Vue.js相關技術,
參與4個大型前端項目的開發,同時獨立負責市場推廣類項目的開發,
並為500強企業進行定制化開發。
在職期間多次發起技術分享沙龍,組織團隊對技術進行更加深入的了解與認識。