前言
✤ 寫作背景
曾經業界流行使用LAMP 架構(Linux、Apache、MySQL 和PHP)來快速開發中小網站。LAMP 是開放原始程式碼的,而且使用簡單、價格低廉,因此LAMP 架組成為當時開發中小網站的首選,號稱「平民英雄」。而今隨著Node.js 的流行,JavaScript 終於在伺服器端擁有一席之地。JavaScript 成為從前端到後端再到資料庫能夠支援全端開發的語言。而以MongoDB、Express、Angular 和Node.js 四種開放原始碼技術為核心的MEAN 架構,除具備LAMP 架構的一切優點外,還能支撐高可用、高平行處理的大型網際網路應用的開發。MEAN 架構勢必也會成為新的「平民英雄」。
市麵上獨立說明MongoDB、Express、Angular 和Node.js 的書較為豐富,但將這些技術綜閤運用的案例和資料比較少。鑑於此,筆者撰寫瞭這本書加以補充。希望讀者透過學習本書具有全端開發的能力。
✤ 本書有關的技術及相關版本
請讀者將相關開發環境設定成不低於本書所採用的設定。
Node.js 12.9.0
NPM 6.12.2
Express 4.17.1
MongoDB Community Server 4.0.10
MongoDB 3.3.1
Angular CLI 8.3.0
NG-ZORRO 8.1.2
ngx-Markdown 8.1.0
basic-auth 2.0.1
NGINX 1.15.8
✤ 本書特點
1. 可與筆者線上交流
本書提供以下交流網址,讀者有任何技術的問題都可以嚮筆者提問。
github.com/waylau/mean-book-samples/issues
2. 提供瞭以技術點為基礎的58 個實例和1 個綜閤性實戰專案
本書提供瞭58 個MEAN 架構技術點的實例,將理論說明完成到程式實現上。這些實例具有很高的應用價值和參考價值。在掌握瞭基礎之後,本書還提供瞭1 個綜閤性實戰專案。
3. 免費提供書中實例的原始檔案簡體原始程式碼亦可在筆者的github 下載, 網址為github.com/waylau/mean-book-samples。筆者會不定時更新程式碼。本書免費提供書中所有實例的原始檔案。讀者可以一邊閱讀本書,一邊參照原始檔案動手練習。這樣不僅可以加強學習的效率,還可以對書中的內容有更加直觀的認識,進一步逐漸培養自己的程式設計能力。
4. 覆蓋的知識麵廣
本書覆蓋瞭MongoDB、Express、Angular、NG-ZORRO、ngx-markdown、basic-auth 和NGINX 等在內的MEAN 架構技術點,技術前瞻,案例豐富。不管是程式設計初學者,還是程式設計高手,都能從本書中獲益。本書可作為讀者的案頭工具書,隨手翻閱。
5. 語言簡潔,閱讀流暢
本書採用結構化的層次,並採用簡短的段落和敘述,讓讀者讀來有順水行舟的輕快感。
6. 案例的商業性、應用性強
本書提供的案例多數來自真實的商業專案,具有很高的參考價值。有些程式甚至可以移植到自己的專案中直接使用,使從「學」到「用」這個過程變得更加直接。
✤ 聯繫作者
由於筆者能力有限、時間倉促,書中難免有錯漏之處,歡迎讀者透過以下方式與筆者聯繫。
部落格:waylau.com
電子郵件:waylau521@gmail.com
微博:weibo.com/waylau521
GitHub:github.com/waylau
✤ 緻謝
感謝電子工業齣版社的吳宏偉編輯,他在本撰寫作過程中仔細審稿稿件,給予瞭很多指導和幫助,以及編校團隊對本書在編輯、校對、排版、封麵設計等方麵所給予的幫助,使本書得以順利齣版。
感謝我的父母、妻子Funny 和兩個女兒。由於撰寫本書,我犧牲瞭很多陪伴傢人的時間。謝謝他們對我的瞭解和支援。
柳偉衛