我正在尝试在 Node.js 中掌握 ES6 导入的窍门,并尝试使用此示例中提供的语法:
备忘单链接
我正在查看 支持表,但找不到支持新导入语句的版本(我尝试查找文本导入/要求)。我目前正在运行 Node.js 8.1.2,并且还相信由于备忘单指的是 .js 文件,因此它应该适用于 .js 文件。
当我运行代码时(取自备忘单的第一个示例):
import { square, diag } from 'lib';
我得到错误:
SyntaxError:意外的令牌导入。
对我要导入的库的引用:
//------ 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
来识别我的 import
声明?
原文由 Jonathan002 发布,翻译遵循 CC BY-SA 4.0 许可协议
TLDR;
Node.js >= v13
在 Node.js 13 及更高版本中非常简单。您需要:
.mjs
扩展名保存文件,或{ "type": "module" }
在最近的package.json
。您只需执行上述操作之一即可使用 ECMAScript 模块。
Node.js <= v12
如果您使用的是 Node.js 版本 9.6 - 12,请使用带有
.mjs
扩展名的 ES6 模块 保存 文件并运行它: