Node.js 8.5 正式发布,新特性一览

Posted 前端大全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js 8.5 正式发布,新特性一览相关的知识,希望对你有一定的参考价值。


英文:Gergely Nemeth  译文:众成翻译

zcfy.cc/article/what-x27-s-new-in-node-js-8-5-risingstack-4226.html


Node.js 8.5 新特性


最近 Node.js 发布了8.5版本,在这个版本里,Node 添加了3个激动人心的新特性。


支持 ES Module


此次版本迭代中,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/



觉得本文对你有帮助?请分享给更多人

关注「前端大全」,提升前端技能

以上是关于Node.js 8.5 正式发布,新特性一览的主要内容,如果未能解决你的问题,请参考以下文章

K8S 生态周报| Kubernetes v1.22.0 正式发布,新特性一览!

Mozilla 有史以来最好的正式版 Firefox 57 即将来袭!新特性一览

Node.js 8.5 带来哪些新特性

Node.js 4.0.0 正式发布了

Node.js 6.0正式发布:提供2年长期支持覆盖93% ES6特性

Node.js v8.0.0 正式发布,带来大量更新