发布于 2016-02-24 00:49:56 | 156 次阅读 | 评论: 0 | 来源: 网友投递
Node.js 服务器端的JavaScript
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
Node.js 5.7.0 稳定版发布,相关链接:
Windows 32-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v5.7.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v5.7.0/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.7.0/node-v5.7.0.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-ppc64le.tar.xz
SunOS 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-sunos-x86.tar.xz
SunOS 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v5.7.0/node-v5.7.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v5.7.0/node-v5.7.0.tar.gz
Other release files: https://nodejs.org/dist/v5.7.0/
Documentation: https://nodejs.org/docs/v5.7.0/api/
值得关注的改进包括:
buffer:
You can now supply an encoding
argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding])
, supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]])
. See the API documentation for details on how this works. (Trevor Norris) #4935
Buffer#indexOf()
no longer requires a byteOffset
argument if you also wish to specify an encoding
: Buffer#indexOf(val[, byteOffset][, encoding])
. (Trevor Norris) #4803
child_process: spawn()
and spawnSync()
now support a 'shell'
option to allow for optional execution of the given command inside a shell. If set to true
, cmd.exe
will be used on Windows and /bin/sh
elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat.
and .cmd
files to be executed with spawn()
and spawnSync()
. (Colin Ihrig) #4598
http_parser: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters (James M Snell) #5237
dgram: socket.send()
now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. (Matteo Collina) #4374
http: Fix a bug where handling headers will mistakenly trigger an 'upgrade'
event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) #4337
net: Added a listening
Boolean property to net
and http
servers to indicate whether the server is listening for connections. (José Moreira) #4743
node: The C++ node::MakeCallback()
API is now reentrant and calling it from inside another MakeCallback()
call no longer causes the nextTick
queue or Promises microtask queue to be processed out of order. (Trevor Norris) #4507
tls: Add a new tlsSocket.getProtocol()
method to get the negotiated TLS protocol version of the current connection. (Brian White) #4995
vm: Introduce new 'produceCachedData'
and 'cachedData'
options to new vm.Script()
to interact with V8's code cache. When a new vm.Script
object is created with the 'produceCachedData'
set to true
a Buffer
with V8's code cache data will be produced and stored in cachedData
property of the returned object. This data in turn may be supplied back to another vm.Script()
object with a 'cachedData'
option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. (Fedor Indutny) #4777
performance: Improvements in: