予期しないトークンのエクスポートを取得する質問する

予期しないトークンのエクスポートを取得する質問する

プロジェクトで 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-devnpmパッケージ(開発時に即座にトランスパイルするため)と一緒に使用し、.tsファイルにTypeScriptを記述する
  • ESMをCommonJSにトランスパイルするエスビルド( esbuildnpm のパッケージ) は、ご使用の環境でサポートされている CommonJS ターゲットに ES6 JavaScript をトランスパイルするように構成されています。(バベル推奨されなくなりました)

おすすめ記事