Node.js 0.*是Joyent公司維護(hù).進(jìn)展緩慢.但是穩(wěn)定.Node.js 是一套用來(lái)編寫高性能網(wǎng)絡(luò)服務(wù)器的 JavaScript 工具包.Node.js v12.18.1是官方發(fā)布的一個(gè)分支版本。
Node.js版本介紹:
Node.js 4.*,5.*都是由網(wǎng)友維護(hù)的.相對(duì)的進(jìn)展快,增加和許多新功能.偶數(shù)開頭的是穩(wěn)定版,奇數(shù)開頭的開發(fā)版就是會(huì)不斷變化更新.為下一個(gè)穩(wěn)定版本做測(cè)試差不多的意思.
不過現(xiàn)在都是在nodejs基金會(huì)下面.所以咱們?cè)趎odejs網(wǎng)站可以看到更新的時(shí)候會(huì)有很多版本更新.
說(shuō)到區(qū)別得看一下nodejs的發(fā)展歷史.
在2009年時(shí),服務(wù)端JavaScript迎來(lái)了它的拐點(diǎn),因?yàn)镽yan Dahl帶來(lái)了Node.js,在那之后Node.js將服務(wù)端JavaScript帶入了新的境地,大量的JavaScript在GitHub上被貢獻(xiàn)出來(lái),大量的JavaScript模塊出現(xiàn),出現(xiàn)了真正的繁榮。
Node.js不是憑空出現(xiàn)的項(xiàng)目,也不是某個(gè)Web前端工程師為了完成將JavaScript應(yīng)用到服務(wù)端的理想而在實(shí)驗(yàn)室里搗鼓出來(lái)的。它的出現(xiàn)主要?dú)w功于Ryan Dahl歷時(shí)多年的研究,以及一個(gè)恰到好處的節(jié)點(diǎn)。2008年V8隨著Chrome瀏覽器的出世,JavaScript腳本語(yǔ)言的執(zhí)行效率得到質(zhì)的提升,這給Ryan Dahl帶來(lái)新的啟示,他原本的研究工作與V8之間碰撞出火花,于是帶來(lái)了一個(gè)基于事件的高性能Web服務(wù)器。
Node.js電腦版安裝:
在不安裝Cygwin的情況下,是否可以在Windows上搭建Node.js環(huán)境進(jìn)行試驗(yàn)開發(fā)哪?我以Node.js + express做了個(gè)簡(jiǎn)單測(cè)試,基本可行。
步驟如下:
1. 下載Node.js官方非穩(wěn)定版Windows可執(zhí)行程序:
我在試驗(yàn)中使用了0.5.7版本
2. 創(chuàng)建c:\nodejs目錄,并將node.exe保存在此目錄中
3. 下載express。因?yàn)橐蕾囮P(guān)系,我們還需要下載:connect、qs、mime和jade(express默認(rèn)模板系統(tǒng)。如果你使用其他模板系統(tǒng),需要下載相應(yīng)系統(tǒng))
4. 創(chuàng)建c:\nodejs\node_modules目錄,并在此目錄中分別創(chuàng)建[Module]目錄。然后將上一步下載的文件壓縮,把相關(guān)文件拷貝到[Module]目錄中。
node_modules
|- connect <= connect: lib/*
|- express <= express: lib/*
|- jade <= jade: lib/*
|- mime <= mime: mime.js & types/*
|- qs <= qs: lib/*
5. 在c:\nodejs\node_modules目錄,分別創(chuàng)建以下文件:
connect.js
內(nèi)容:module.exports = require('./connect/connect');
express.js
內(nèi)容:module.exports = require('./express/express');
jade.js
內(nèi)容:module.exports = require('./jade/jade');
mime.js
內(nèi)容:module.exports = require('./mime/mime');
qs.js
內(nèi)容:module.exports = require('./qs/querystring');
6. 將下載的express壓縮包中的bin/express文件拷貝到c:\nodejs目錄,并改名為express.js
7. 修改express.js文件,以下以2.4.3為例:
7.1. 修改mkdir函數(shù)體
401: exec('mkdir -p ' + path, function(err){
->exec('md ' + path, function(err){
7.2. 修改mkdir函數(shù)調(diào)用
263: mkdir(path + '/public/javascripts');
->mkdir(path + '\\public\\javascripts');
264: mkdir(path + '/public/images');
->mkdir(path + '\\public\\images');
265: mkdir(path + '/public/stylesheets', function(){
->mkdir(path + '\\public\\stylesheets', function(){
280: mkdir(path + '/views', function(){
->mkdir(path + '\\views', function(){
8. 創(chuàng)建一個(gè)express項(xiàng)目:
c:\nodejs\node.exe express.js -s hello
9. c:\nodejs\node_modules\*.* => c:\nodejs\hello\node_modules\
10. 運(yùn)行并測(cè)試:
c:\nodejs\node.exe hello\app.js
在瀏覽器中打開:http://localhost:3000,查看結(jié)果。
至此測(cè)試完成。
下面給出測(cè)試文件,在測(cè)試文件中我還試驗(yàn)了express session?梢栽跒g覽器中打開:http://localhost:3000/session,查看結(jié)果。