1. 程式人生 > >Node.js 實戰 第2版

Node.js 實戰 第2版

內容簡介

本書是 Node.js 的實戰教程,涵蓋了為開發產品級 Node 應用程式所需要的一切特性、技巧以及相關理念。從搭建 Node 開發環境,到一些簡單的演示程式,到開發複雜應用程式所必不可少的非同步程式設計。D2 版介紹了全棧開發者所需的全部技術,包括前端構建系統、選擇 Web 框架、在 Node 中與資料庫的互動、編寫測試和部署 Web 程式,等等。

  • 前端系統構建
  • 伺服器端框架選擇
  • 如何用 Express 從頭開始搭建 Web 程式
  • 與資料庫的互動
  • 掌握非阻塞 I/O
  • Node 的事件輪詢
  • 測試與部署
  • Web 程式模板
  • 用 Node 開發命令列工具和桌面軟體

作者簡介

亞歷克斯 · 楊(Alex Young),經驗豐富的 Web 開發者,廣受歡迎的 JavaScript 社群 DailyJS 創始人。目前任職於 Apple。另著有《Node.js 硬實戰》。

布拉德利 · 馬克(Bradley Meck),TC39 和 Node.js 基金會成員。業餘時間醉心於為 JavaScript 製作工具、園藝和指導學生。

麥克 · 坎特倫(Mike Cantelon),Node.js 核心框架貢獻者,Node 社群活躍分子,培訓師和演講人。

蒂姆 · 奧克斯利(Tim Oxley),JavaScript(Node.js/React)自由撰稿人。

馬克 · 哈特(Marc Harter),Node.js 核心框架貢獻者。

T. J. 霍洛瓦丘(T.J.Holowaychuk),參與開發了很多 Node.js 模組,包括流行的 Express 框架。

內森 · 拉伊利赫(Nathan Rajlich),大名鼎鼎的 TooTallNate,Node.js 核心程式碼提交者。

本書內容

前言

《Node.js實戰》的第1版出版之後發生了很多事情,io.js 問世,治理模型也發生了翻天覆地的變化。Node 的包管理器孵化出了一家成功的新公司——npm,Babel 和 Electron 等技術也改變了 Node 開發。

雖然 Node 的核心庫變化不大,但 JavaScript 變了,大多數開發人員都用上了 ES2015 的功能特性,所以我們改寫了上一版中的所有程式碼,用上了箭頭函式、常量和解構。因為 Node 的庫和自帶的工具看起來仍然和 4.x

之前的版本差不多,所以我們在這一版的更新中瞄準了社群。

為了體現 Node 開發人員在實際工作中面臨的問題,本書在結構上進行了調整。Express 和 Connect 的分量輕了,涉及的技術範圍廣了。書中介紹了全棧開發者所需的全部技術,包括前端構建系統、選擇 Web 框架、在 Node 中與資料庫的互動、編寫測試和部署 Web 程式。

除了 Web 開發,本書還有編寫命令列程式和 Electron 桌面程式的章節,讓你充分利用自己的 Node 和 JavaScript 技能。

本書不僅要向你介紹 Node 和它的生態系統,還想盡可能讓你瞭解那些影響 Node 發展的背景知識,比如一般在 Node 和 JavaScript 書籍中並不介紹的 Unix 哲學和如何正確、安全地使用資料庫。希望這些知識能拓寬你的眼界,加深你對 Node 和 JavaScript 的理解,幫你在面臨新的問題時找到解決辦法。

致謝

首先要感謝本書上一版的作者們,他們做出了巨大貢獻:Mike Cantelon、Marc Harter、T.J. Holowaychuk 和 Nathan Rajlich。還要感謝 Manning 的團隊,如果沒有他們的鼓勵,這一版也不會問世。感謝我的策劃編輯 Cynthia Kane,在更新原內容的漫長過程中讓我保持專注。如果沒有 Doug Warren 詳盡的技術校對,本書及其中程式碼的正確率恐怕連現在的一半都不到。最後要感謝在寫作及開發過程中提供反饋的評審人員:Austin King、Carl Hope、Chris Salch、Christopher Reed、Dale Francis、Hafiz Waheedud din、HarinathMallepally、Jeff Smith、Marc-Philippe Huget、Matthew Bertoni、Philippe Charrieère、Randy Kamradt、Sander Rossel、Scott Dierbeck和William Wheeler。

關於本書

本書第1版重點介紹瞭如何用 Web 框架 Connect 和 Express 開發 Web 程式。第2版則根據 Node 開發的變化做了調整。我們會介紹前端構建系統、流行的 Node Web 框架,以及如何用 Express 從頭開始搭建 Web 程式,還會講到自動化測試和 Node Web 程式的部署。

因為用 Node 做的命令列開發者工具和用 Electron 做的桌面端程式越來越多,所以本書專門用了兩章的篇幅分別介紹這兩塊內容。

本書假定你熟悉基本的程式設計概念。但考慮到有些開發人員還沒有接觸過新的 JavaScript,所以第1章將會介紹 JavaScript 和 ES2015。

路線圖

本書分為三部分。

第一部分介紹 Node.js,講解用它進行開發所需的基礎技術。第1章介紹了 JavaScript 和 Node 的特性,通過示例程式碼一步步進行講解。第2章介紹了基本的 Node.js 程式設計概念。第3章完整地演示瞭如何從頭開始搭建一個 Web 程式。

第二部分重點介紹 Web 開發,內容最多,篇幅也最長。第4章是前端構建系統的揭祕。如果你在專案中用到過 Webpack 或 Gulp,但並沒有真正掌握它們,那麼可以學習一下這一章的內容。第5章介紹了 Node 中最流行的伺服器端框架。第6章詳細介紹了 Connect 和 Express。第7章是模板語言,它可以提升服務端程式碼的編寫效率。大多數 Web 程式都需要資料庫,所以第8章介紹了很多種可以用在 Node 中的資料庫,關係型和 NoSQL 都有涉及。第9章和第10章講了測試和部署,包括雲端部署。

第三部分是 Web 程式開發之外的內容。第11章講了如何用 Node 搭建命令列程式,創建出開發人員熟悉的文字介面。如果你喜歡用 Node 搭建像 Atom 一樣的桌面程式,可以看看介紹 Electron 的第12章。

本書還有三個附錄。附錄 A 講了如何在 macOS 和 Windows 上安裝 Node,附錄 B 詳細介紹瞭如何實現網路內容抓取,附錄 C 介紹了 Connect 的官方中介軟體元件。

編碼規範及下載

書中的程式碼遵循通用 JavaScript 規範。縮排用空格,不用製表符。儘量不要讓一行程式碼的長度超過80個字元。很多程式碼清單中都加了註釋,指出了其中的關鍵概念。

每行一條語句,簡單語句後面加分號。程式碼塊放在大括號中,左括號放在程式碼塊開始行的末尾處,右括號的縮排跟程式碼塊開始行的縮排保持一致,在垂直方向上對齊。

書中示例的原始碼請至圖靈社群本書主頁http://www.ituring.com.cn/book/1993隨書下載處下載。

本書論壇

購買了英文版的讀者可以免費訪問 Manning 出版社運營的專享論壇,你可以在那裡發表對圖書的評論,提出技術問題,尋求作者和其他讀者的幫助。

Manning 的初衷是為讀者間、讀者與作者間提供一個交流場所。作者完全可以根據個人意願進行參與,在論壇上所做的貢獻是沒有報酬的。所以我們建議你儘可能提出一些有挑戰性的問題,以激發作者的興趣!只要書還在發行,出版社的網站上就會有關於書的論壇和之前討論過的內容的歸檔。

讀者也可登入圖靈社群本書主頁http://www.ituring.com.cn/book/1993提交反饋意見和勘誤。

第一部分 Node 基礎知識介紹

現如今,Node 已經出落成了一個成熟的 Web 開發平臺。本書第1章到第3章介紹 Node 的主要特性,包括如何使用 npm 和 Node 的核心模組。你還將看到如何在 Node 上使用現代版 JavaScript,以及如何從頭開始構建一個 Web 應用程式。看完這些章節之後,對於 Node 能做什麼,以及該如何建立自己的專案,你將會有非常深刻的認識。

第1章 歡迎進入 Node.js 的世界
第2章 Node 程式設計基礎
第3章 Node Web 程式是什麼
第二部分 Node 的 Web 開發
第4章 前端構建系統
第5章 伺服器端框架
第6章 深入瞭解 Connect 和 Express
第7章 Web程式的模板
第8章 儲存資料
第9章 測試 Node 程式
第10章 Node 程式的部署及運維
第三部分 超越 Web 開發
第11章 編寫命令列程式
第12章 用 Electron 征服桌面
附錄A 安裝 Node
附錄 B 自動化的網路抓取
附錄 C Connec 的官方中介軟體

閱讀全文: http://gitbook.cn/gitchat/geekbook/5bbd7dc39ccd7c1379f3060b