专栏名称: 奇舞周刊
《奇舞周刊》是由奇舞团维护的前端技术周刊。除周五外,每天向大家推荐一篇前端相关技术文章,每周五向大家推送周刊汇总内容。
目录
相关文章推荐
平安宁夏  ·  新春走基层 | 第五味平安年货·坚“国”礼包 ·  12 小时前  
平安宁夏  ·  新春走基层 | 第五味平安年货·坚“国”礼包 ·  12 小时前  
公安部网安局  ·  网警给您拜大年 ·  3 天前  
公安部网安局  ·  网警给您拜大年 ·  3 天前  
上海应急守护  ·  忠诚守“沪” 蛇年安康 | 上海应急人给您拜年! ·  4 天前  
上海应急守护  ·  忠诚守“沪” 蛇年安康 | 上海应急人给您拜年! ·  4 天前  
51好读  ›  专栏  ›  奇舞周刊

Node.js 8.5 新特性

奇舞周刊  · 公众号  · 前端  · 2017-09-16 18:43

正文

编者按:本文由净化在众成翻译平台上翻译。

最近 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/


奇舞周刊

——————————————————

领略前端技术 阅读奇舞周刊


长按二维码,关注奇舞周刊