Node.js 實際上是Google的 V8 JavaScript引擎的事件I / O庫。
專家建議您為需要在各種平台和設備上運行相同的流量和數據密集型實時應用程序進行創建和部署。
Node.js目前被認為是運行服務器端JavaScript代碼的頂級平台,適用於Google,eBay,Yahoo,LinkedIn,Microsoft,Cloud9等大公司的生產。
該平台具有很好的記錄,並受益於通過 npm (Node.js軟件包管理器)實用程序管理的非常大的模塊存儲庫。
版本6.x推薦用於穩定的生產環境,而版本7.x穩定,但包含實驗功能。
 
此版本中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
版本6.7.0 / 4.6.0中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
6.5.0 / 4.5.0版本中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
版本6.3.0 / 4.4.7中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
版本6.2.0 / 4.4.5中的新功能
Node.js 5.0.0中的新功能(2015年10月30日)
6.0.0 / 4.4.3版中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
4.4.3 / 5.10.1中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
4.4.0 / 5.8.0中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
4.2.6 / 5.5.0版本中的新功能:
- 事件:確保控制台功能存在
- fs:將autoClose選項添加到fs.createWriteStream
- http:改善期望標題處理
- node:允許使用-i 預加載模塊
- v8,src:公開堆空間的統計信息(v8.getHeapSpaceStatistics())
4.2.2 / 5.2.0版本中的新功能:
- fs.readFile *(),fs.writeFile *()和fs.appendFile *()現在也接受一個文件描述符作為他們的第一個參數
- 修正了流水線http請求失敗的錯誤
- npm:從2.14.7 升級到3.3.6版本
- 嘗試重新使用setTimeout()的定時器句柄。unref()。
- 添加了ALPN支持
- 現在,TLS選項可以在一個對像中傳遞給createSecurePair()
- zlib:解壓縮現在拋出截斷的輸入
4.1.1版中的新功能:
- child_process:ChildProcess.prototype.send()和process.send()在所有平台上異步運行,因此已經引入了可選的回調參數,一旦發送消息即被調用,即.send(message [,sendHandle ] [,回調])。
- node:將“io.js”代碼重命名為“Node.js”。
- node-gyp:此版本捆綁了node-gyp的更新版本,該版本適用於所有版本的Node.js和io.js,包括夜間和版本候選版本。從io.js v3和Node.js v4起,它只會在構建插件而不是整個源時下載頭文件tarball。
- npm:從2.13.3升級到2.14.2版,包括安全更新,詳情請參閱https://github.com/npm/npm/releases/tag/v2.14.2。
- 計時器:通過移植0.12實現來改進計時器性能,加上次要修復。
- util:utilsis *()函數已被棄用,從本版本文檔中的棄用警告開始,鼓勵用戶在npm註冊表中尋求更強大的替代方案。
- v8:從4.4.63.30升級到版本4.5.103.30。
版本0.12.7中的新功能:
- openssl:升級到1.0.1p
- npm:升級到2.11.3
- V8:來自上游的櫻桃挑選JitCodeEvent補丁
- win,msi:在AppData目錄 中創建npm文件夾
版本0.12.4中的新功能:
- npm:升級到2.10.1
- V8:還原v8 Array.prototype.values()刪除
- win:帶回xp / 2k3支持
版本0.12.2中的新功能
- openssl:升級到1.0.1m(尋址多個CVES)
版本0.12.0中的新功能:
- Streams實現現在可以按照您的想法,而不會對API進行任何更改。基本上這意味著沒有更多的人陷入“舊模式”,只有流不流動。
- HTTP:
- maxSockets不再限於5.默認情況現在設置為Infinity,開發人員和操作系統可以控制應用程序可以保持打開給定主機的多少個並發連接。
- 正確的KeepAlive支持意味著套接字將保持打開,直到在配置的時間超時,被遠程端關閉或進程退出。開發人員不再需要確保請求已被流水線保持套接字打開,或者使用替代模塊來獲得支持。
- 開發人員現在也可以明確地刷新Headers,以確保第一個字節的時間很短,代理的連接保持打開狀態。
- 集群:
- 現在有兩種操作模式,新的默認設置是輪循分配機制,主機接受新連接並將其分配給您的員工。如果您希望您仍然可以選擇重新使用舊方法,您的工作人員將負責接受連接。
- TLS:
- 我們有一個新的TLSWrap機制,它消除了JavaScript和C ++實現之間的不同跳數。
- 添加了用於異步SNI回調,OCSP裝訂和存儲事件的API。
- 緩衝液:
- 我們使用更準確的機制為緩衝區分配內存,這意味著您可以看到更少的開銷和影響力保持到小片緩衝區。這減少了系統上的內存壓力,這意味著GC運行速度更快,這意味著Node.js在CPU上佔用較少,從而降低了應用程序的延遲時間。
- child_process:
- spawnSync / execSync已被添加,以促進同步子進程,警告您的節點進程不會在等待孩子退出時提示進度,請注意emptor!
- 加密:
- 添加了用於加載用於OpenSSL中編譯的自定義引擎的API。
- 更多API支持提供密碼短語。
- 添加了RSA公鑰/私鑰加密/解密的API。
- VM:
- 該模塊現在基於Contextify模塊,該模塊共享沙箱中的值,以避免在執行中丟失更改,以免在父上下文中出現。
- 初始支持ECMAScript Internationalization API 1.0(ECMA-402)
- 默認情況下,Node.js v0.12.0二進製文件附帶ECMA-402支持,但僅適用於英文。換句話說,ECMA-402 API正在按照您的期望工作,但只包括英文數據。
流3:
現在,流如果應用程序要執行一連串多個寫入,現在支持使用軟木和非鎖定機制來防止刷新寫入系統。當您結束可寫入流時,會執行一個隱式uncork。
版本0.10.36中的新功能:
- openssl:update to 1.0.1l
- v8:修復調試器和嚴格模式回歸
- v8:不要在cpu剖析器線程中繁忙循環
版本0.10.34中的新功能:
- uv:更新到v0.10.30
- zlib:升級到v1.2.8
- child_process:檢查execFile args是一個數組
- child_process:check fork args是一個數組
- crypto:更新根證書
- 域:修復未被捕獲的中止問題
- 計時器:在_unrefActive 中避免線性掃描
- 計時器:修復unref()內存洩漏
- v8:add api for aborting on uncaught exception
- 調試器:使用“use strict” 時修復
版本0.10.33中的新功能:
- openssl:更新到1.0.1j
- uv:更新到v0.10.29
- child_process:正確支持可選參數
- crypto:默認情況下,禁用SSLv2 / 3的自動協商
版本0.10.32中的新功能:
- npm:更新到1.4.28
- v8:修復以前版本引入的崩潰
- configure:add --openssl-no-asm flag
- crypto:對任何回調方法使用域
- http:不要在TE HEAD回復中發送0rnrn
- querystring:修復unescape覆蓋
- url:添加對RFC 3490分隔符的支持
版本0.10.31中的新功能:
- v8:backport CVE-2013-6668。
- openssl:更新到v1.0.1i。
- npm:更新到v1.4.23。
- cluster:disconnect不應同步。
- fs:修復fs.readFileSync fd在獲取RangeError時的洩漏。
- 定時器:修復定時器,並將非整數延遲掛起。
stream:fix readable.wrap objectMode falsy values。
版本0.10.30中的新功能:
- uv:升級到v0.11.14
- v8:升級3.21.18.3
- 斷言:指示是否生成異常消息
- buffer:add buf.toArrayBuffer()API
- cluster:fix earlyature“disconnect”事件
- crypto:添加SPKAC支持
- 調試器:正確計算行號的空格
- 調試器:使繁忙的循環SIGUSR1可中斷
- 調試器:重複上一個命令
- dgram:send()可以接受字符串
- dns:將域重命名為主機名
- dns:在錯誤對像上設置主機名屬性
- dtrace,mdb_v8:支持更多字符串,框架類型
- http:add statusMessage
- http:公開支持的方法
調試器:顯示當前行
版本0.10.29中的新功能:
- child_process:在拋出 之前不要設置args
- child_process:spawn()不會引發TypeError
- constants:export O_NONBLOCK
- crypto:提高內存使用率
- lib:name EventEmitter原型方法
- tls:修復性能問題
fs:如果fstat()在readFile()中失敗,則關閉文件
版本0.10.27中的新功能:
- child_process:在發送句柄時修復死鎖
- child_process:修復發送句柄兩次
- dtrace:FreeBSD上的變通方法鏈接器錯誤
- http:不要發出EOF的非可讀套接字
- http:在沒有代理 時調用createConnection
- stream:刪除無用檢查
- url:與/ 相同
- util:如果instanceof錯誤 ,格式為錯誤
密碼:不要小寫密碼/哈希名稱
定時器:不重新計劃域中的定時器桶
版本0.10.25中的新功能:
- uv:升級到v0.10.23
- npm:升級到v1.3.24
- v8:修復具有很多屬性的對象的枚舉
- child_process:修復spawn()可選參數
- cluster:向工作人員報告更多錯誤
- domains:exit()僅影響活動網域
- src:OnFatalError處理程序必須abort()
stream:write可能會返回false,但是忘記排出
版本0.10.24中的新功能:
- uv:升級到v0.10.21
- npm:升級到1.3.21
- v8:CVE-2013- {6639 | 6640} 的後端修復程序
- 構建:unix安裝節點和dep庫頭
- cluster,v8:fix --logfile =%p.log
- 模塊:只有緩存包主要
版本0.10.22中的新功能:
- npm:升級到1.3.14
- uv:升級到v0.10.19
- child_process:不要在陳舊的文件描述符事件上斷言
- darwin:在小牛活動監視器 中修復“不響應”
- 調試器:用未命名的腳本修復sb()中的錯誤
- repl:不要將重複項插入到完成 中
- src:修復封閉手柄上的內存洩漏
版本0.10.19中的新功能:
- uv:升級到v0.10.17
- npm:升級到1.3.11
- readline:從控製字符開始處理輸入
- configure:add mips-float-abi(soft,hard)選項
- stream:objectMode轉換允許falsey值
- tls:防止從 返回的重複值
版本0.10.17中的新功能:
- uv:升級v0.10.14
- http_parser:不接受PUN / GEM方法為PUT / GET
- tls:在讀取 時ssl被破壞時修復斷言
- stream:如果偵聽器刪除 ,則拋出“錯誤”
- dgram:在bad send()參數 上修復斷言
- readline:在關閉終端原始模式之前暫停stdin
版本0.10.16中的新功能:
- npm:升級到1.3.8
- crypto:在錯誤的十六進制輸入 上修復assert()
- crypto:在randomBytes()錯誤路徑 中修復內存洩漏
- 事件:修復內存洩漏,不洩漏事件名稱
- http:正確處理hex / base64編碼
- http:提高chunked res.write(buf)性能
- stream:修復雙管錯誤發出
版本0.11.2中的新功能:
- 升級到0.11.2
- 升級到3.19.0
- 升級到1.2.21
- 構建:Makefile應該配置--prefix
- debugger,cluster:每個worker都有新的調試端口
- 調試器:使用自定義調試端口 進行`restart'
- 調試器:腳本中尚未加載的斷點
- event:EventEmitter#setMaxListeners()返回此
- 事件:添加EventEmitter.defaultMaxListeners
集群:使用循環負載平衡
0.10.10版中的新功能:
- uv:升級到0.10.10
- npm:升級到1.2.25
- url:正確解析某些奇怪形式的網址
- stream:unshift('')是noop
版本0.10.9中的新功能:
- npm:升級到1.2.24
- uv:升級到v0.10.9
- repl:修復JSON.parse錯誤檢查
- tls:正確.destroySoon
- tls:僅在相對閱讀結束 之後調用write cb
- tls:ignore .shutdown()syscall錯誤
版本0.10.7中的新功能:
- npm:升級到1.2.21
- crypto:不要忽略驗證編碼參數
- buffer,crypto:fix default encoding regression
- timers:fix setInterval()assert
版本0.10.6中的新功能:
- child_process:修復句柄傳遞
- crypto:修復性能回歸
- src:DRY字符串編碼/解碼
stream:make Readable.wrap支持objectMode,空流
版本0.10.5中的新功能:
- 構建:添加對Visual Studio 2012的支持。
- http:不要嘗試破壞不存在的套接字。
- crypto:LazyTransform屬性,而不是方法。
- assert:將信息放在err.message中,而不是err.name。
- dgram:修復no address bind()。
- handle_wrap:修復NULL指針取消引用。
- os:修復os.type()中不太可能的緩衝區溢出。
- stream:Fix unshift()race conditions。
版本0.10.4中的新功能:
- http:支持寫(數據,'hex')。
- 加密:dh秘密應該被填充。
- 進程:在process.versions中公開NODE_MODULE_VERSION。
- crypto:修復加密流中的構造函數調用。
- net:.byteLength中的編碼帳戶。
- net:以字節為單位修復緩衝區迭代。
- crypto:0寫入0字節時不是錯誤。
版本0.10.2中的新功能:
- tls:刪除有害的不必要的邊界檢查。
- crypto:make getCiphers()返回非SSL密碼。
- crypto:check randomBytes()size argument。
- 計時器:不計算Timeout._when屬性。
- 計時器:修復一個小錯誤。
- timers:在enroll()中處理已簽名的int32溢出。
- stream:在非常具體的條件下,在“轉換”中修復失敗。
- stream:處理晚期可讀的事件偵聽器。
- stream:在零長度寫入時修改Writables的早期結束。
- 域:從MakeCallback修復域回調。
- child_process:不要兩次發出相同的句柄。
評論沒有發現