Node.js 是構(gòu)建于Chrome的JavaScript引擎的,Google的瀏覽器Chrome,有一個(gè)很是快速的JavaScript引擎,叫做V8。這個(gè)JS引擎可以被自力出來(lái)。Node.js就是建樹(shù)在V8之上的。這也是為什么Node.js會(huì)運(yùn)行的如此之快。對(duì)于開(kāi)辟者來(lái)說(shuō),有幾個(gè)益處:
你不須要從頭進(jìn)修一門(mén)新的說(shuō)話(huà),它就是JS。我經(jīng)常查看Chrome和Mozilla的JS文檔,他們完全通用。
Node.js 安裝
1、安裝編譯環(huán)境,>sudo apt-get install g++ c++ curl libssl-dev apache2-utils git-core curl
2、下載Node安裝包,>wget http://nodejs.org/dist/node-v0.3.0.tar.gz
3、編譯安裝,步驟如下:
>./configure //注:如果不需SSL,可加入選項(xiàng)-without-ssl
>make
>make install
4、安裝成功,默認(rèn)路徑為:/usr/local/bin/node!
Node.js 應(yīng)用
1、安裝成功后先寫(xiě)“Hello World!”簡(jiǎn)單測(cè)試一下,代碼如下:
Java代碼
view plaincopy to clipboardprint?
//filename: app.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8000/');
2、運(yùn)行 app.js,>node app.js,在瀏覽器輸入http://127.0.0.1:8000/,即可看到效果
3、Node提供了一些常用的API,可參考:http://nodejs.org/api.html
NPM 安裝
除Node本身提供的API外,現(xiàn)在有不少第三方模塊可極大的提高開(kāi)發(fā)效率,如:WEB框架-express,HTTP中間件-connect,模板-ejs等,為了管理這些模塊我們需要安裝NPM,安裝過(guò)程如下:
1、首先準(zhǔn)備目錄權(quán)限,不要以ROOT帳號(hào)安裝,>sudo chown -R $USER /usr/local
fedora下,先用root更改權(quán)限 chown -R $USER /usr/local 之后退出root
2、安裝NPM,>curl http://npmjs.org/install.sh | sh
3、完成后安裝第三方模塊也很簡(jiǎn)單,>npm install modules_name,安裝Express,>npm install express
注:如果安裝模塊的過(guò)程中報(bào)域名錯(cuò)誤的話(huà),請(qǐng)清空緩存 >npm cache clean 或重啟計(jì)算機(jī)即可
值得關(guān)注的更新:
Build
FreeBSD 10 is no longer supported. #22617
child_process
The default value of the windowsHide option has been changed to true. #21316
console
console.countReset() will emit a warning if the timer being reset does not exist. #21649
console.time() will no longer reset a timer if it already exists. #20442
Dependencies
V8 has been updated to 7.0. #22754
fs
The fs.read() method now requires a callback. #22146
The previously deprecated fs.SyncWriteStream utility has been removed.#20735
http
The http, https, and tls modules now use the WHATWG URL parser by default. #20270
General
Use of process.binding() has been deprecated. Userland code using process.binding() should re-evaluate that use and begin migrating. If there are no supported API alternatives, please open an issue in the Node.js GitHub repository so that a suitable alternative may be discussed.
An experimental implementation of queueMicrotask() has been added. #22951
Internal
Windows performance-counter support has been removed. #22485
The --expose-http2 command-line option has been removed. #20887
Timers
Interval timers will be rescheduled even if previous interval threw an error. #20002
nextTick queue will be run after each immediate and timer. #22842
util
The WHATWG TextEncoder and TextDecoder are now globals. #22281
util.inspect() output size is limited to 128 MB by default. #22756
A runtime warning will be emitted when NODE_DEBUG is set for either http or http2. #21914