Node.js 百度百科:php
Node.js 是一個基於
Chrome
JavaScript
運行時創建的一個平臺, 用來方便地搭建快速的
易於擴展的網絡應用· Node.js 藉助事件驅動, 非阻塞I/O
模型變得輕量和高效, 很是適合 運行在分佈式設備 的
數據密集型 的實時應用。html
V8
引擎執行Javascript
的速度很是快,性能很是好。Node.js對一些特殊用例進行了優化,提供了替代的API
,使得V8
在非瀏覽器環境下運行得更好。node
Node
是一個Javascript
運行環境(runtime
)。實際上它是對Google V8
引擎進行了封裝。V8
引
擎執行Javascript的速度很是快,性能很是好。
Node對一些特殊用例進行了優化,提供了替代的
API,使得
V8`在非瀏覽器環境下運行得更好。linux
Node.js官方介紹:npm
Node.js® is a platform built on Chrome's JavaScript runtime for easily
building fast, scalable network applications. Node.js uses an
event-driven, non-blocking I/O model that makes it lightweight and
efficient, perfect for data-intensive real-time applications that run
across distributed devices.windows
我已經斷斷續續學習了node.js
半年多了,在這期間也穿插着php
、AngularJS
、CSS3
等其餘的學習。在這些語言中,我最喜歡的就是JavaScript
和php
,也很想讓本身在這兩個語言上有所精進。目前的我對Node.js
的學習不是很懂,但一些基礎的東西還算理解吧。下面我就把我看的一些資料中的案例搬過來,加入一些其餘的功能,讓它更像一個完整的應用。api
Windows
下安裝NodeJS:服務器
windows
下的安裝很簡單,直接去NodeJS官方網站下載對應版本的.msi
文件便可(也有.exe
文件,可是建議仍是下載.msi
文件安裝,由於.exe
文件安裝以後裏面缺乏一些模塊和npm
,還需本身配置path
,不然在windows
的命令行裏無法執行node
命令)網絡
安裝以後就能夠在命令行裏執行:
node -v // 查看 node.js 版本 npm -v // 查看 npm 的版本
若是提示不是內部命令,則須要將NodeJS的安裝路徑添加到環境變量
Linux
下安裝NodeJS
:
Linux
有很的版本,本人只在CentOS
下安裝過node.js
(參考)其餘的版本請移步這裏(參考)
Mac
下安裝NodeJS:
本人是個窮屌絲,沒錢買
Mac
。沒有在Mac
上安裝NodeJS的經驗,也就不在這裏寫什麼了。有須要的童鞋請移步這裏(參考),這裏有各個系統下的安裝方法。
在開始咱們的小案例以前咱們須要瞭解一下NodeJS中的模塊。
模塊分爲兩類:原生模塊
和文件模塊
。原生模塊即NodeJS API
提供的原生模塊,原生模塊在啓動時已經被加載。文件模塊爲動態加載模塊,加載文件模塊的工做主要是由原生模塊 module
來實現和完成。
應用
NodeJS
提供的API require
來加載相應的NodeJS
模塊,require
成功後會返回一個NodeJS
模塊的對象,該對象擁有該模塊的全部屬性和方法,以下:var http = require('http'); // require http 模塊 http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); // 調用 http 對象的 createServer 和 listen方法來建立簡單的
HTTP
服務器 直接在瀏覽器地址欄輸入http://127.0.0.1:3000 便可看到經典的「Hello World」 ~_~
文件模塊的調用和原生模塊的方法基本一致,可是須要注意的是其二者的加載方法存在必定的區別,原生模塊不須要 指定模塊路徑,而文件模塊加載時必須指定文件路徑,不然會出錯提示
"can not find xxx module"
。以下:var obj = require('./exports.js'); var obj = require('/path/.../exports.js');在調用文件模塊時要確保文件存在,路徑必定不要錯了 ^_^
更多的信息請參考網址 http://nodejs.org/api/
說了這些以後咱們來看看咱們的小案例,咱們先肯定咱們要作什麼:
ip
地址下一節咱們就正式開始咱們的小案例。