The difference between node versions 14 and 10: 1. Version 10 stops using the V8 engine in Chromium and uses version 6.6 of V8, while the V8 used in version 14 has been upgraded to version 8.1; 2. Version 14 can be used directly "ES Modules" will not alarm and cannot be used in version 10.
The operating environment of this article: Windows 10 system, nodejs 10&&node 14 version, Dell G3 computer.
Node 10
vm: add dynamic import support. Support dynamic import.
But the ES module is still experimental, and import/export cannot be used directly in the code unless the experimental flag is turned on. If you want to use it, you still have to see how to write ES6 import in NodeJS.
Updated nghttp2 to 1.34.0. This adds RFC 8441 extended connect protocol support to allow use of WebSockets over HTTP/2. Updated nghttp2 to 1.34.0. This adds RFC 8441 Extended Connection Protocol support to allow the use of WebSockets over HTTP/2.
Node 8 introduces an experimental HTTP/2 module, this time it is a good upgrade to Node. HTTP/2 improves the standard HTTP protocol, with advanced features such as multiplexing, single connection, server push, header compression, etc. This time it also fixes some security issues and adds websocket support.
Adding Error Codes. Error messages in Node are now standardized.
The n-api is no longer experimental. [cd7d7b15c1]. N-API is no longer an experimental feature
The Node documentation describes N-API as an API for building native plugins. It is independent of the underlying JavaScript runtime (ex V8) and maintained as part of Node.js itself. This API will be a stable application binary interface (ABI) across Node.js versions. It is designed to insulate Addons from changes in the underlying JavaScript engine and allow modules compiled for one version to run on later versions of Node.js without recompilation.
patch V8 to 6.6.346.24. Node stops using the V8 engine in Chromium and uses version 6.6 of v8, which
improves diagnostic tracing. Node 10 adds tracking events to provide developers with more visibility into their Node.js applications. When starting the node application, add the parameter --trace-event-categories to open it. You can learn more in the documentation
update npm to 6.14.3. Updated for NPM 6, this version of npm adds all the various improvements including performance, security, and stability
upgrade openssl sources to 1.1.1e. Node comes with modern cryptographic support for the highly anticipated ChaCha20 cipher and Poly1305 validator
fs: remove experimental warning for fs.promises. fs can use promises directly, and there is no need to use the util.promisify() function for conversion like in Node 8.
const fs = require('fs'); const fsPromises = fs.promises; // 同步读取 console.log(fs.readFileSync('temp.txt', 'utf8')); // promise 读取,感觉更麻烦了。 async function doRead() { let filehandle = null; try { filehandle = await fsPromises.open('temp.txt', 'r+'); let read = await filehandle.readFile(); console.log(read); } finally { if (filehandle) { // 如果文件已打开,则关闭文件。 await filehandle.close(); } } } doRead().catch(console.error);
Node 14
ECMAScript Modules - Experimental Warning Removal
In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental.
Since Node 13 You can use ES Modules directly but it will alarm. After Node 14, you can use it without alarming.
V8 upgraded to 8.1
ArrayBuffer uses the new V8 ArrayBuffer API
openssl sources updated Go to 1.1.1
Console groupIndentation option. The console can be configured to be longer than two spaces.
Recommended learning: "nodejs video tutorial"
The above is the detailed content of What is the difference between node version 14 and 10. For more information, please follow other related articles on the PHP Chinese website!