我正在尝试在我的项目中运行一些 ES6 代码,但我收到了意外的令牌导出错误。
export class MyClass {
constructor() {
console.log("es6");
}
}
原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2022 年更新
您正在使用 EcmaScript 模块(ESM 或“ES6 模块”)语法,但您的环境不支持它。
v14.13.0 之前的 NodeJS 版本不支持 ESM(
export
关键字语法)并使用 CommonJS 模块(module.exports
属性语法)。 NodeJS v14.13.0 及更新版本支持 ESM,但必须先启用它。解决方案:
"type":"module"
启用它package.json
ts-node
或ts-node-dev
npm 包(用于开发时的即时编译)一起使用,并将 TypeScript 写入.ts
文件中esbuild
npm 上的包)将 ESM 转译为 CommonJS,配置为将你的 ES6 javascript 转译为你的环境支持的 CommonJS 目标。 (不再推荐 babel )