VOOZH about

URL: https://read01.com/mBdx5j.html

⇱ 前言 - 壹讀


Saturday, Apr 11, 2026

前言

2015/07/06 來源:51CTO

前言

歡迎閱讀本書。本書將引領你進入使用JavaScript的世界--在你的Web開發項目中,從伺服器和服務到瀏覽器客戶端。本書涵蓋Node.js、MongoDB和AngularJS的實現和集成,而它們是Web開發世界中新興的一些最令人興奮和創新的技術。

本篇前言包括:

本書受眾;

為什麼要閱讀本書;

從本書你將了解到的知識;

Node.js、MongoDB和AngularJS分別是什麼,以及為什麼它們都是出色的技術;

本書的組織結構;

在哪裡可以找到代碼示例。

讓我們開始吧。

本書受眾

這本書假定讀者已經對HTML的基礎知識有所了解,並可以用現代編程語言完成一些編程。讀者如果對JavaScript有一定了解,將更容易理解本書的內容;但這不是必需的,因為本書確實也涵蓋了JavaScript的基礎知識。

為什麼要閱讀本書

這本書將教你如何創建功能強大的互動網站和Web應用程式--從Web伺服器和伺服器上的服務到基於瀏覽器的交互式Web應用程式。這裡所涉及的技術都是開源的,在伺服器端組件和瀏覽器端的組件上你都可以使用JavaScript。

這本書的大多數讀者想要掌握Node.js和MongoDB,以便可以達到構建高度可擴展和高性能網站的目的。大多數讀者也想利用AngularJS創新的MVC方法來實現精心設計和結構化的網頁和Web應用程式。總之,Node.js、MongoDB和AngularJS提供了一個易於實現並完全集成的Web開發套件,它可以讓你實現神奇的Web 2.0應用程式。

從本書你將了解到的知識

閱讀本書將幫助你構建現實中的動態網站和Web應用程式。網站不再由HTML頁面和集成的圖像及格式化的文本等簡單的靜態內容構成。相反,網站變得更加動態,單個網頁往往充當一個完整的網站或應用程式。

使用AngularJS技術,可讓你在網頁中構建邏輯,這可以與Node.js伺服器相互通信並從MongoDB資料庫獲取必要的數據。Node.js、MongoDB和AngularJS 的組合可以讓你實現交互式動態網頁。通過閱讀本書,你將學會如下的事情:

如何使用Node.js和Express來實現一個高度可擴展的動態Web伺服器;

如何在JavaScript中創建伺服器端的Web服務;

如何在Web應用程式中實現MongoDB的數據存儲;

如何用Node.js JavaScript代碼實現對MongoDB的訪問和交互;

如何定義靜態和動態Web路由並實現伺服器端腳本來支持它們;

如何定義擴展HTML語言的你自己自定義的AngularJS指令;

如何實現可以與Node.js Web伺服器交互的客戶端服務;

如何建立提供豐富的用戶交互的動態瀏覽器視圖;

如何將用戶帳戶的身份驗證添加到網站/Web應用程式;

如何將嵌套的評論組件添加到網頁;

如何建立一個端到端的購物車。

何為Node.js

Node.js是基於谷歌的V8 JavaScript引擎的開發框架。你可以用JavaScript編寫Node.js代碼,然後V8將它編譯為要執行的機器代碼。你可以用Node.js編寫出大部分,或者甚至全部的伺服器端代碼,包括Web伺服器、伺服器端的腳本和任何支持Web應用程式的功能。Web伺服器和支持Web應用程式的腳本在同一個伺服器端應用程式中運行這一事實,允許在Web伺服器和腳本之間有更緊密的集成。

Node.js之所以是一個出色的框架,基於下面幾個原因。

JavaScript端到端:Node.js最大的一個優點是,它可以讓你用JavaScript同時編寫伺服器端和客戶端腳本。在決定是把邏輯放入客戶端腳本還是伺服器端腳本方面一直有困難。利用Node.js,你可以在客戶端上編寫JavaScript,並輕鬆地在伺服器上適應它,反之亦然。另外一個好處是,客戶端的開發者和伺服器的開發者使用同一種語言。

事件驅動的可擴展性:Node.js應用獨特的邏輯來處理Web請求。使用Node.js,不是讓多個線程等待處理Web請求,而是採用一種基本的事件模型在同一個線程上處理它們。這使得Node.js Web伺服器可以用傳統的Web伺服器不能做到的方式進行擴展。

可擴展性:Node.js有很多的追隨者和非常活躍的開發社區。人們正在不斷提供新的模塊來擴展Node.js的功能。此外,在Node.js中安裝和包含新的模塊是非常簡單的,你可以在幾分鐘內擴展Node.js的項目來包含新的功能。

快速執行:建立Node.js,並在其中開發是超級容易的。在短短几分鐘內就可以安裝Node.js,並擁有一個能工作的Web伺服器。

何為MongoDB

MongoDB是一個靈活的和可擴展性非常好的NoSQL資料庫。Mongo這個名字來自單詞"堆積如山"(humongous),用來強調MongoDB提供的可擴展性和性能。MongoDB為需要存儲諸如用戶評論、博客或其他條目數據的高流量的網站提供了出色的網站後端存儲,因為它可快速擴展並易於實現。

下面是MongoDB真正適合於Node.js套件的一些原因。

針對文檔:因為MongoDB是針對文檔的,所以數據在資料庫中存儲的格式,非常接近你在伺服器端和客戶端腳本中處理它們的格式。這消除了把數據從行轉換為對象和轉換回來的需要。

高性能:MongoDB是目前性能最高的資料庫之一。尤其是在現在,有越來越多的人與網站進行交互,具有能夠支持大流量的後端是很重要的。

高可用性:MongoDB的複製模型使得它很容易維護可擴展性,同時保持高性能。

高可擴展性:MongoDB的結構使得它可以很容易地通過在多個伺服器上對數據分片實現橫向擴展。

無SQL注入:MongoDB是不容易受到SQL注入攻擊的(也就是向Web表單或從瀏覽器的其他輸入中輸入SQL語句,從而危及資料庫的安全性)。這是因為對象被存儲為對象,不使用SQL字符串。

何為AngularJS

AngularJS是由谷歌開發的客戶端框架。它是用JavaScript編寫的,帶有一個精簡過的jQuery庫。AngularJS背後的理論是提供一個框架,使得可以很容易地使用MVC框架實現設計良好的結構化網頁和應用程式。

AngularJS提供了在瀏覽器中處理用戶輸入、操縱客戶端上的數據及控制元素如何在瀏覽器界面上顯示的功能。下面是AngularJS具有的一些優勢。

數據綁定:AngularJS利用其強大的範圍機制,有一個將數據綁定到HTML元素的非常乾淨的方法。

可擴展性:AngularJS架構允許你輕鬆地擴展語言的各個方面,以提供你自己的自定義實現。

整潔:AngularJS迫使你編寫整潔的、合乎邏輯的代碼。

可重用代碼:可擴展性和簡潔代碼的結合,使得很容易用AngularJS編寫可重用的代碼。事實上,在創建自定義服務的時候,此語言往往迫使你這樣做。

支持:谷歌正把大量資金投入到這個項目,這使得它比那些已失敗的類似舉措更具優勢。

兼容性:AngularJS基於JavaScript並與jQuery有著密切的聯繫。這使得更易於開始將AngularJS整合到你的環境和重用在AngularJS框架結構內的現有代碼片段。

本書的組織結構

這本書分為6個主要部分:

第1部分"引言",概述了Node.js、MongoDB和AngularJS之間的相互作用,並對這3種產品如何形成一個完整的Web開發套件進行了概述。第2章是JavaScript的初步介紹,它提供了實現Node.js和AngularJS代碼時,你需要用到的JavaScript語言的基本知識。

第2部分"學習Node.js",涵蓋了Node.js的語言平台,從安裝到實現Node.js模塊。這部分向你提供你需要的基本框架,以實現自己的自定義Node.js模塊以及Web伺服器和伺服器端腳本。

第3部分"學習MongoDB",涵蓋了MongoDB資料庫,從安裝到與Node.js應用程式的集成。本部分將討論如何規劃你的數據模型,以滿足你的應用程式需求,以及如何從Node.js應用程式對MongoDB進行訪問和交互。

第4部分"使用Express使生活更輕鬆",討論了Node.js的Express模塊以及如何利用它作為應用程式的Web伺服器。你將學習如何為數據設置動態和靜態路由,以及如何實現安全性、緩存和Web伺服器的其他基本功能。

第5部分"學習AngularJS",涵蓋了AngularJS框架的架構,以及如何將它集成到Node.js套件。本部分介紹了創建自定義的HTML指令和在瀏覽器中利用的客戶端服務。

第6部分"建立實用的Web應用程式組件",轉換了主題,給出了一些使用Node.js、MongoDB和AngularJS的端到端應用案例;這些案例為Web應用程式提供用戶帳戶的身份驗證、評論部分,以及購物車。這部分還介紹了一些在Web應用程式中實現Web 2.0互動的方法。

獲取代碼示例

在本書中你會看到很多以代碼清單形式提供的代碼示例。每個清單的標題都包括原始碼的文件名。要訪問示例中使用的原始碼文件和圖片,請訪問如下網址:

結束語

我希望你和我一樣喜歡學習Node.js、MongoDB和AngularJS。它們都是出色而創新的技術,使用起來真的充滿樂趣。很快,你就可以加入這一龐大的Web開發人員之列,和他們一起使用Node.js-to-AngularJS Web套件來建立交互式網站和Web應用程式了。我也希望你喜歡這本書!

喜歡的朋友可以添加我們的微信帳號:

51CTO讀書頻道二維碼

您可能感興趣
免責聲明:本文內容來源于51CTO,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM