在终端上运行时,ES6导入会给出意外的标识符SyntaxError

时间:2019-05-23 16:25:53

标签: javascript ecmascript-6 import export command-line-interface

我是整个ES6概念的新手,我目前正在尝试使用exportimport模块。我有一个简单的代码,仅将log放入console中。下面是代码

autoincrementId.js

export default function autoincrementId() {
  return 'hey';
}

log.js

import autoincrementId from '../helpers/autoincrementId.js';

console.log(autoincrementId());

当我在终端上使用node运行代码时,出现此错误 screenshot of the error

错误中的autoinrementId代表printOut 当我使用module.exportsrequire时,一切正常。但是我想使用export import。我已经按照https://babeljs.io/setup#installation

中的说明设置了环境

请解决这个问题,因为所有答案都已经读完了,所以告诉我在type="module"中添加HTML却在终端上运行吗?谢谢。

1 个答案:

答案 0 :(得分:1)

对于Node.js,请使用--experimental-modules标志运行脚本。这样一来,您就可以在Node.js中使用ES模块,而无需转换导入/导出语句。

node --experimental-modules ./path/to/your.js

该错误有点容易引起误解,因为如果没有该标志,Node会尝试将您的脚本解析为CommonJS模块,而不是无法理解import / export的ES模块。