如何在节点中使用es6导入?

我试图在节点中获取es6导入的挂载,并试图使用此示例中提供的语法:

Cheatsheet链接: https : //hacknoon.com/import-export-default-require-commandjs-javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f

我正在通过支持表: http : //node.green/ ,但无法find哪个版本支持新的导入语句(我试图寻找文本import / require)我目前正在运行节点8.1。 2,也相信由于cheatsheet是指.js文件,它应该使用.js文件。

当我运行代码时(从cheatsheet的第一个例子中):

import { square, diag } from 'lib'; 

我得到的错误:SyntaxError:意外的令牌导入。

引用lib我试图导入:

 //------ lib.js ------ export const sqrt = Math.sqrt; export function square(x) { return x * x; } export function diag(x, y) { return sqrt(square(x) + square(y)); } 

我错过了什么,如何让节点识别我的导入语句?

Node.js不支持ES6模块。 James的这篇博客描述了它的原因。

尽pipe可以使用Babel来使用ES6模块语法。