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:不要两次发出相同的句柄。
评论没有发现