本篇内容介绍了“node版本14与10的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
node版本14与10的区别:1、10版本停止使用Chromium中的V8引擎,使用V8的6.6版本,而14版本使用的V8升级到了8.1版本;2、14版本可以直接使用“ES Modules”并且不会报警,而10版本中则不能使用。
本文操作环境:Windows10系统、nodejs 10&&node 14版、Dell G3电脑。
node版本14与10的区别
Node 10
vm: add dynamic import support。支持动态的 import。
但 ES 模块仍旧属于实验性质,并不能在代码中直接使用 import/export 除非开启实验性质的 flag,想使用还是得参见如何在 NodeJS 中写 ES6 import。
Updated nghttp2 to 1.34.0. This adds RFC 8441 extended connect protocol support to allow use of WebSockets over HTTP/2。将 nghttp2 更新为 1.34.0。这增加了 RFC 8441 扩展连接协议支持,以允许通过 HTTP/2 使用 WebSockets。
Node 8 引入了一个实验性的 HTTP/2 模块,这次是对 Node 的一次很好的升级。 HTTP/2 改进了标准的 HTTP 协议,有着多路复用,单一连接,服务器推送,头压缩等先进处,此次还修复了一些安全性的问题,并且还加上 websocket 的支持。
Adding Error Codes。现在,Node中的错误信息已被标准化。
The n-api is no longer experimental. [cd7d7b15c1]。N-API 不再是实验性功能
Node文档将 N-API 描述为构建本地插件的 API。 它独立于底层的 JavaScript 运行时(ex V8),并作为 Node.js 本身的一部分进行维护。 这个 API 将是跨 Node.js 版本稳定的应用程序二进制接口(ABI)。 它旨在将 Addons 与基础 JavaScript 引擎中的更改隔离,并允许为一个版本编译的模块在更高版本的 Node.js 上运行,而无需重新编译。
patch V8 to 6.6.346.24。Node 停止使用 Chromium 中的 V8 引擎,而使用 v8 的 6.6 版本,
改进了诊断追踪。Node 10 添加了跟踪事件,为开发人员提供更多关于其Node.js应用程序可见性。在启动 node 应用时,添加参数 --trace-event-categories可以将其打开,可以文档里了解到更多
update npm to 6.14.3。更新 NPM 6,npm的这一版本增加了所有各种改进,包括性能,安全性和稳定性
upgrade openssl sources to 1.1.1e。Node配备了现代加密支持,可支持备受期待的 ChaCha20 密码和 Poly1305 验证器
fs: remove experimental warning for fs.promises。fs 可直接使用 promise 了,不再需要像 Node 8 中使用 util.promisify()函数进行转换。
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.
自 Node 13 开始可以直接使用 ES Modules 但是会报警,Node 14 后可以使用并且不报警了。
V8 升级到 8.1
ArrayBuffer 使用新的 V8 ArrayBuffer API
openssl sources 更新到 1.1.1
Console groupIndentation option。console 可以配置超过两个空格的长度。
“node版本14与10的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!