Node.js8.5新特性近日,Node.js发布了8.5版本,在这个版本中,Node新增了3个令人兴奋的新特性。支持ESModule在本次版本迭代中,Node终于支持了开发者呼声最高的ESModule提案。这意味着您可以直接使用import关键字来导入所需的模块。Node8.5可以运行如下代码:`importfsfrom'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.js8.5版本中,性能监控API。在Node.js8.5中,可以调用mark()和measure()接口来监控Node.js事件的执行时间。在Node.js8.5中,您可以使用:const{performance}=require('perf_hooks')performance.mark('A')setTimeout(()=>{performance.mark('B')performance.measure('AtoB','A','B')constentry=performance.getEntriesByName('AtoB','measure')console.log(entry.duration)},10000)官方文档:https://nodejs.org/api/perf_hooks.html参考文章:https://github.com/nodejs/node/pull/14680/filesfs模块增加文件复制功能Node.js8.5引入了更高级的文件系统,在这个版本中可以直接将fs模块的代码传给复制一个文件:constfs=require('fs')fs.copyFile('source.txt','destination.txt',(err)=>{if(err){//handleerrorproperly,notjustconsole.logreturnconsole.error(err)}console.log('source.txtwascopiedtodestination.txt')})参考文章:https://github.com/nodejs/node/pull/15034/files希望通过这些新特性,开发者可以做出更加惊艳的Node。js应用程序。参考文章:https://nodejs.org/en/blog/release/v8.5.0/
