本文转载自:众成翻译 译者:净化 链接:http://www.zcfy.cc/article/4226 原文:https://blog.risingstack.com/whats-new-in-node-js-8-5
最近 Node.js 发布了8.5版本,在这个版本里,Node 添加了3个激动人心的新特性。
此次版本迭代中,Node 终于支持了开发者呼声最高的 ES 模块提案。这意味着,你可以直接使用import
关键字引入需要的模块。 Node 8.5 可以运行如下代码:
`import fs from 'fs'`
使用es模块,你需要注意,引入文件的扩展名应为 mjs
,同时使用 --experimental-modules
标识。
在 Node.js 中使用 ES 模块的限制:
import()
, V8引擎将在下一版本支持,
import.meta
, V8引擎暂不支持,
不支持 require('./foo.mjs')
参考文章:https://github.com/nodejs/node/pull/14369/files
在 Node.js 8.5 版本中,性能监控API 。
在 Node.js 8.5 中,可以调用 mark()
和 measure()
API,监控 Node.js 事件执行时间。
在 Node.js 8.5 中,你可以这样使用:
const { performance } = require('perf_hooks')
performance.mark('A')
setTimeout(() => {
performance.mark('B')
performance.measure('A to B', 'A', 'B')
const entry = performance.getEntriesByName('A to B', 'measure')
console.log(entry.duration)
}, 10000)
官方文档:https://nodejs.org/api/perf_hooks.html
参考文章:https://github.com/nodejs/node/pull/14680/files
fs
模块添加文件复制功能Node.js 8.5 推出了更高级的文件系统,在这个版本你可以直接通过 fs
模块复制某个文件的代码:
const fs = require('fs')
fs.copyFile('source.txt', 'destination.txt', (err) => {
if (err) {
// handle error properly, not just console.log
return console.error(err)
}
console.log('source.txt was copied to destination.txt')
})
参考文章:https://github.com/nodejs/node/pull/15034/files
希望通过这些新特性,开发者能做出更令人惊喜的 Node.js 应用。
参考文章:https://nodejs.org/en/blog/release/v8.5.0/
扫码关注w3ctech微信公众号
共收到0条回复