プロジェクトで ES6 コードを実行しようとしていますが、予期しないトークンのエクスポート エラーが発生します。
export class MyClass {
constructor() {
console.log("es6");
}
}
ベストアンサー1
2022年に更新
EcmaScript モジュール (ESM または「ES6 モジュール」) 構文を使用していますが、環境ではサポートされていません。
v14.13.0 より前のバージョンの NodeJS は ESM (キーワード構文) をサポートしておらずexport
、CommonJS モジュール (module.exports
プロパティ構文) を使用します。NodeJS v14.13.0 以降は ESM をサポートしていますが、最初に有効にする必要があります。
解決策:
- NodeJS v14.13.0以降(ESMをサポート)を使用している場合は、
"type":"module"
プロジェクトで設定することで有効にすることができます。package.json
- CommonJS モジュール構文を使用したリファクタリング (NodeJS の古いバージョンの場合)
- 使用を検討するタイプスクリプト
ts-node
またはts-node-dev
npmパッケージ(開発時に即座にトランスパイルするため)と一緒に使用し、.ts
ファイルにTypeScriptを記述する - ESMをCommonJSにトランスパイルするエスビルド(
esbuild
npm のパッケージ) は、ご使用の環境でサポートされている CommonJS ターゲットに ES6 JavaScript をトランスパイルするように構成されています。(バベル推奨されなくなりました)