http://nodejs.org/api/all.html#all_https
這篇文檔的目的是從參考和概念的角度來描述理解nodejs的api,每個章節描述了一個內置的模塊或者更高等的概念
通過本文檔,你將會發現每個章節的指示。Nodejs的api一直在稍微的更改。並且它的成熟確定的板塊比其他的更加可靠。其中一些是被證明的,費城可靠
他們看上去並不像經常被更改的。另一些標記着新和實驗性的,是有危險的,在進程中需要重定義
這些功能被認爲是有問題的,並且被有計劃的更改,不要用他們,用這些功能會引起一些警告,逆向的兼容性是不被希望的
這些功能最近被介紹,並且可能在未來的版本改動或者移除,請嘗試他們並反饋,如果他們的用例對你很重要,請告訴node的核心團隊
這些api正在不斷的積累的過程中,但是並沒有足夠的事實證實他們足夠大的穩定,如果他們是合理的那麼向後將會兼容他們
這些api已經被證實是滿意的,但是清理一些潛在的小代碼可能會造成一些小幅度的修改,向後兼容是可以保證的
這些api在產品中已經被詳盡的測試,並且不出現大的問題不會被更改
除非極少的bug被發現,這些代碼幾乎不會改變。請不要在這些代碼中更改,他們不會被修改
每一個html文件在markdown都有一個擁有一致數據的json文件
用node編寫的webserver示例將會輸出”Hello World”
//申請一個http的變量
varhttp
=require('http');
//
創建服務器
http
.createServer(function(
request
,response
){//回調函數
response
.writeHead(200,{'Content-Type':
'text/plain'});
response
.end('Hello World\n');//
}).listen(8124);//端口號爲8124
//
在控制檯輸出
console
.log('Server running at http://127.0.0.1:8124/');
運行這個服務,將這段代碼寫入example.js,並且用node程序執行
這些對象在所有的模塊中都是可以用的,他們中的一些並不是在全局的範圍內而是在一些模塊中,他們將會被標記出來
經常用來打印到標準輸出或者錯誤輸出,請查看console章節
請求模塊,查看modules章節,require並不是一個全局的卻是每個模塊都本地化的
用本地的require機械的尋找並本地化一個模塊,並不是加載這個模塊,僅僅返回這個解析的文件名
模塊在被請求的時候將會存儲在這個對象中,通過從這個對象中刪除一個鍵值,下一個請求將會重新加載這個模塊
在以前被棄用,這個列表用來不是javascript模塊通過編譯命令加載進入node,然而,在實踐中,有很多更好的方法做到這一點,比如加載一些其他的node程序模塊,或者編譯他們成javascript、
自從這個模塊被鎖上之後,這個功能不會被刪除,然而他可能會導致很多不易發現的bug而且複雜的東西最好不要用
該文件名的代碼已經被執行過,這是解決這個代碼文件的確定路徑,對於一個主程序來說,這不是必須的,這個文件名一般用在命令行中,在模塊中的變量是那個模塊文件的路徑
_filename並不是一個全聚德但是是每一個模塊都本地化的
引用當前的模塊,特別的,module.exports和exprts對象是一樣的。Module不是全局的,而是每個模塊實例化得
一個在所有正確的模塊實例之間共享並且可以獲取require的module.exports的引用,查看module系統文檔獲取更加詳細的信息
運行回調函數cb 在ms毫秒之後,確切的延遲由外部的環境確定比如系統延遲保證和系統加載
延遲時間必須在1-2147 483647之間,如果這個值不在這個範圍內,他將會自動默認1,
停止由setTimeout()創建的時間值,回調函數將不會被調用
停止由setInterval()創建的定時器,回調函數將不會被調用,這個定時器函數是全局變量,請查看timer章節