NodeJShtml
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。node
NodeJS安裝:http://nodejs.cn/web
模塊(module)路徑解析規則:mongodb
1 內置模塊 若是 require 函數請求的是一內置模塊,如 http、fs等,則直接返回內部模塊的導出對象。express
2 node_modules 目錄 NodeJS定義了一個特殊的node_modules 目錄用於存放模塊。例如某個模塊的絕對路徑是 /home/user/hello.js,在該模塊中使用 require('foo/bar') 方式加載模塊時,則NodeJS依次嘗試使用下面的路徑。npm
/home/user/node_modules/foo/barapi
/home/node_modules/foo/barrestful
/node_modules/foo/bar架構
3 NODE_PATH 環境變量 NodeJS可經過 NODE_PATH 環境變量來指定額外的模塊搜索路徑。例如定義瞭如下 NODE_PATH 變量值:app
NODE_PATH=/home/user/lib;/home/lib
當使用 require('foo/bar') 的方式加載模塊時,則 NodeJS 依次嘗試如下路徑。
/home/user/lib/foo/bar
/home/lib/foo/bar
參考資料:
Change node_modules location http://stackoverflow.com/questions/18974436/change-node-modules-location
《七天學會NodeJS》
ExpressJS
Express 是一個基於 Node.js 平臺的極簡、靈活的 web 應用開發框架,它提供一系列強大的特性,幫助你建立各類 Web 和移動設備應用。
Express 安裝
1 npm install -g express
-g 表示全局安裝 ExpressJS,能夠在任何地方使用它。
ExpressJS 架構示意圖
參考資料:
Creating RESTful APIs With NodeJS and MongoDB Tutorial http://adrianmejia.com/blog/2014/10/01/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/#expressjs
ExpressJS中文網 http://www.expressjs.com.cn/
建立服務(Server)
加載所需模塊
1 var express = require("express"); 2 var http = require("http");
添加中間件(Middleware)做 request 攔截和處理分發
1 app.use(function(req, res, next){ 2 console.log("first middleware"); 3 if (req.url == "/"){ 4 res.writeHead(200, {"Content-Type": "text/plain"}); 5 res.end("Main Page!"); 6 } 7 next(); 8 }); 9 10 app.use(function(req, res, next){ 11 console.log("second middleware"); 12 if (req.url == "/about"){ 13 res.writeHead(200, {"Content-Type": "text/plain"}); 14 res.end("About Page!"); 15 } 16 next(); 17 });
建立服務並監聽
1 http.createServer(app).listen(2015);
示例文件 app.js
運行 NodeJS,並訪問 http://localhost:2015/。
參考資料:
透析Express.js http://www.cnblogs.com/hyddd/p/4237099.html