Node.js is open source en platformonafhankelijk, en is gericht op het ontwikkelen van server-sidewebapplicaties. Die applicaties worden geschreven in JavaScript en uitgevoerd binnen de Node.js runtime op de server. Het biedt een event-gedreven omgeving aan waarbij non-blocking i/o een belangrijk uitgangspunt is geweest. Voor meer informatie verwijzen we naar deze pagina. Het ontwikkelteam heeft versie 10.0 vrijgegeven, met kort daarop een kleine update. De belangrijkste verbeteringen die hierin zijn aangebracht, zijn hieronder voor je op een rijtje gezet:
Node v10.0.0 (Current)Node.js 10.0.0 is the seventh major Node.js release since the launch of the Node.js Foundation. In October of 2018, it will become the next Active Long Term Support branch.
Partially in celebration of the N-API native addon API graduating from experimental status, this Node.js release also comes with a coordinated experimental release of Node-ChakraCore that has full support for N-API and advances the Time-Travel innovation with easier getting started using a VSCode extension.
Feature Highlights for the Node-ChakraCore release include:
- Full support for N-API
- Easy getting started with Time-Travel Debugging via a new Visual Studio Code Extension
- TTD support for generators and async functions
- Support for Inspector protocol
- Increased stability and other assorted improvements
The full set of changes for the Node.js 10.0.0 release are detailed below.
Notable Changes
Deprecations:
- The N-API native addons API has graduated from experimental status.
- Assert
- Calling
assert.fail()
with more than one argument is deprecated. [70dcacd710
]- Calling
assert.ok()
with no arguments will now throw. [3cd7977a42
]- Calling
assert.ifError()
will now throw with any argument other thanundefined
ornull
. Previously the method would throw with any truthy value. [e65a6e81ef
]- The
assert.rejects()
andassert.doesNotReject()
methods have been added for working with async functions. [599337f43e
]- Async_hooks
- Older experimental async_hooks APIs have been removed. [
1cc6b993b9
]- Buffer
- Uses of
new Buffer()
andBuffer()
outside of thenode_modules
directory will now emit a runtime deprecation warning. [9d4ab90117
]Buffer.isEncoding()
now returnsundefined
for falsy values, including an empty string. [452eed956e
]Buffer.fill()
will throw if an attempt is made to fill with an emptyBuffer
. [1e802539b2
]- Child Process
- Undefined properties of env are ignored. [
38ee25e2e2
], [85739b6c5b
]- Console
- The
console.table()
method has been added. [97ace04492
]- Crypto
- The
crypto.createCipher()
andcrypto.createDecipher()
methods have been deprecated. Please usecrypto.createCipheriv()
andcrypto.createDecipheriv()
instead. [81f88e30dd
]- The
decipher.finaltol()
method has been deprecated. [19f3927d92
]- The
crypto.DEFAULT_ENCODING
property has been deprecated. [6035beea93
]- The
ECDH.convertKey()
method has been added. [f2e02883e7
]- The
crypto.fips
property has been deprecated. [6e7992e8b8
]- Dependencies
- V8 has been updated to 6.6. [
9daebb48d6
]- OpenSSL has been updated to 1.1.0h. [
66cb29e646
]- EventEmitter
- The
EventEmitter.prototype.off()
method has been added as an alias forEventEmitter.prototype.removeListener()
. [3bb6f07d52
]- File System
- The
fs/promises
API provides experimental promisified versions of thefs
functions. [329fc78e49
]- Invalid path errors are now thrown synchronously. [
d8f73385e2
]- The
fs.readFile()
method now partitions reads to avoid thread pool exhaustion. [67a4ce1c6e
]- HTTP
- Processing of HTTP Status codes
100
,102-199
has been improved. [baf8495078
]- Multi-byte characters in URL paths are now forbidden. [
b961d9fd83
]- N-API
- The n-api is no longer experimental. [
cd7d7b15c1
]- Net
- The
'close'
event will be emitted after'end'
. [9b7a6914a7
]- Perf_hooks
- The
PerformanceObserver
class is now anAsyncResource
and can be monitored usingasync_hooks
. [009e41826f
]- Trace events are now emitted for performance events. [
9e509b622b
]- The
performance
API has been simplified. [2ec6995555
]- Performance milestone marks will be emitted as trace events. [
96cb4fb795
]- Process
- Using non-string values for
process.env
is deprecated. [5826fe4e79
]- The
process.assert()
method is deprecated. [703e37cf3f
]- REPL
- REPL now experimentally supports top-level await when using the
--experimental-repl-await
flag. [eeab7bc068
]- The previously deprecated "magic mode" has been removed. [
4893f70d12
]- The previously deprecated
NODE_REPL_HISTORY_FILE
environment variable has been removed. [60c9ad7979
]- Proxy objects are shown as Proxy objects when inspected. [
90a43906ab
]- Streams
- The
'readable'
event is now always deferred with nextTick. [1e0f3315c7
]- A new
pipeline()
method has been provided for building end-to-data stream pipelines. [a5cf3feaf1
]- Experimental support for async for-await has been added to
stream.Readable
. [61b4d60c5d
]- Timers
- The
enroll()
andunenroll()
methods have been deprecated. [68783ae0b8
]- TLS
- The
tls.convertNPNProtocols()
method has been deprecated. [9204a0db6e
]- Support for NPN (next protocol negotiation) has been dropped. [
5bfbe5ceae
]- The
ecdhCurve
default is now'auto'
. [af78840b19
]- Trace Events
- A new
trace_events
top-level module allows trace event categories to be enabled/disabled at runtime. [da5d818a54
]- URL
- The WHATWG URL API is now a global. [
312414662b
]- Util
util.types.is[…]
type checks have been added. [b20af8088a
]- Support for bigint formatting has been added to
util.inspect()
. [39dc947409
]The following APIs have been deprecated in Node.js 10.0.0
- Passing more than one argument to
assert.fail()
will emit a runtime deprecation warning. [70dcacd710
]- Previously deprecated legacy async_hooks APIs have reached end-of-life and have been removed. [
1cc6b993b9
]- Using
require()
to access several of Node.js' own internal dependencies will emit a runtime deprecation. [0e10717e43
]- The
crypto.createCipher()
andcrypto.createDecipher()
methods have been deprecated in documentation.[81f88e30dd
]- Using the
Decipher.finaltol()
method will emit a runtime deprecation warning. [19f3927d92
]- Using the
crypto.DEFAULT_ENCODING
property will emit a runtime deprecation warning. [6035beea93
]- Use by native addons of the
MakeCallback()
variant that passes aDomain
will emit a runtime deprecation warning. [14bc3e22f3
], [efb32592e1
]- Previously deprecated internal getters/setters on
net.Server
has reached end-of-life and have been removed. [3701b02309
]- Use of non-string values for
process.env
has been deprecated in documentation. [5826fe4e79
]- Use of
process.assert()
will emit a runtime deprecation warning. [703e37cf3f
]- Previously deprecated
NODE_REPL_HISTORY_FILE
environment variable has reached end-of-life and has been removed. [60c9ad7979
]- Use of the
timers.enroll()
andtimers.unenroll()
methods will emit a runtime deprecation warning. [68783ae0b8
]- Use of the
tls.convertNPNProtocols()
method will emit a runtime deprecation warning. Support for NPN has been removed from Node.js. [9204a0db6e
]- The
crypto.fips
property has been deprecated in documentation. [6e7992e8b8
]