在节点6中使用不带巴别的导入关键字

我想知道为什么Node.js node index.js引发以下错误:

  (function (exports, require, module, __filename, __dirname) { import * as math from "lib/math"; ^^^^^^ SyntaxError: Unexpected token import at Object.exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:513:28) at Object.Module._extensions..js (module.js:550:10) at Module.load (module.js:458:32) at tryModuleLoad (module.js:417:12) at Function.Module._load (module.js:409:3) at Function.Module.runMain (module.js:575:10) at startup (node.js:160:18) at node.js:456:3 

甚至, node -v显示6.2.1

即使我们使用节点6(6.2.1), import关键字是否受Babel限制?

在Node.js v6中默认不支持ES 2015模块(因此也是import关键字)。

您可以通过使用--harmony_modules标志启动node来启用实验(并且几乎可以肯定是越野车)模块支持。

更好的select可能是使用Babel或类似工具来转储ES 2015模块。

或者你可以重写你的代码,根本不使用ES 2015模块。