这是一本经典的很好的入门手册,是关于nodejs技术的。nodejs是web开发的快速服务器开发技术,在现在的网络服务器技术开发占有一定的地位.非常详细的Nodejs工具文档,让你能非常轻松的学会Nodejs基本概念和基本用法。
Node.js 是一个高效能、易扩充的网站应用程式开发框架 (Web Application Framework) 。它诞生的原因,是為了让开发者能够更容易开发高延展性的网路服务,不需要经过太多复杂的调校、效能调整及程式修改,就能满足网路服务在不同发展阶段对效能的要求。
Ryan Dahl 是 NodeJS 的催生者,目前任职於 Joyent (主机託管服务公司)。他开发 NodeJS 的目的,就是希望能解决 Apache 在连线数量过高时,缓衝区 (buffer) 和系统资源会很快被耗尽的问题,希望能建立一个新的开发框架以解决这个问题。因此尝试使用效能十分优秀的 V8 JavaScript Engine ,让网站开发人员熟悉的 JavaScript 程式语言,也能应用於后端服务程式的开发,并且具有出色的执行效能。
JavaScript 是功能强大的物件导向程式语言,但是在 JavaScript 的官方规格中,主要是定义网页 (以瀏览器為基础) 应用程式需要的应用程式介面(API) ,对 JavaScript 程式的应用范围有所侷限。為使 JavaScript 能够在更多用途发展,CommonJS 规范一组标準函式库 (standard library) ,使 JavaScript的应用范围能够和 Ruby 、Python 及 Java 等语言同样丰富。撰写 NodeJS 的JavaScript 程式码,符合 CommonJS 规范,可以使用 CommonJS API 為基础开发程式,并且在不同的 CommonJS 兼容 (compliant) JavaScript 执行环境中,程式码具有可携性。
nodejs学习手册目录:
關於本書 1
授權 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
作者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
下載電子書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
原始碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.1 精選文章收錄流程 . . . . . . . . . . . . . . . . . . . . . . . . 3
前言 5
1 Node.js 簡介 7
2 JavaScript 與 NodeJS 11
2.1 Event Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Scope 與 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 CPS(Continuation-Passing Style) . . . . . . . . . . . . . . . . 16
2.5 函數返回函數與 Currying . . . . . . . . . . . . . . . . . . . . . 17
2.6 流程控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
i
3 Node.js 安裝與設定 25
3.1 Ubuntu Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Other Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Node.js 基礎 29
4.1 node.js http 伺服器建立 . . . . . . . . . . . . . . . . . . . . . . 29
4.2 node.js http 路徑建立 . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 node.js 檔案讀取 . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 node.js http 靜態檔案輸出 . . . . . . . . . . . . . . . . . . . . . 36
4.5 node.js http GET 資料擷取 . . . . . . . . . . . . . . . . . . . . 38
4.6 本章結語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5 NPM 套件管理工具 41
5.1 安裝 NPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 使用 NPM 安裝套件 . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 套件的更新及維護 . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4 使用 package.json . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Express 介紹 51
6.1 Express 安裝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 Express 基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3 Express 路由處理 . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.4 Express middleware . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.5 Express 路由應用 . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.6 Express GET 應用範例 . . . . . . . . . . . . . . . . . . . . . . . 57
6.7 Express POST 應用範例 . . . . . . . . . . . . . . . . . . . . . . 60
6.8 Express AJAX 應用範例 . . . . . . . . . . . . . . . . . . . . . . 63
6.9 原始資料提供 . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7 CoffeeScript 69
8 製作一個 Hubot 的 Plurk Adapter 71
8.1 應用事項提醒 . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.2 建立 Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ii
8.3 建立 Robot 跟 API . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.4 原始資料提供 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9 Node.js 好用工具介紹 79
9.1 log.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10 精選文章 81
10.1 Express . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
11 參考資源 83
11.1 Node.js 書籍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
11.2 Node.js 影音教學 . . . . . . . . . . . . . . . . . . . . . . . . . 84
11.3 Node.js 教學網站 . . . . . . . . . . . . . . . . . . . . . . . . . 84
11.4 Node.js 課程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84