「SyntaxError: Cannot use import state into a module」の説明と解決済み
Node.js プロジェクトで、エラー「SyntaxError: Cannot use 「モジュール外で import ステートメントを使用する」は、インポート ステートメントが ES モジュールとして認識されないファイルで使用されていることを示します。この問題は、Babel または Node.js の新しいバージョンにアップグレードするときによく発生します。
問題について
Babel 7 では、デフォルトの動作は、 CommonJS モジュールとしての .js 拡張子。一方、ES モジュールの場合は、最も近い package.json ファイルで「type」フィールドを「module」に設定するか、拡張子 .mjs を使用して明示的に命名する必要があります。
エラーの解決
このエラーを解決するには 2 つのオプションがあります:
オプション 1: 設定するpackage.json の「type」を「module」にします
次の「type」フィールドを package.json ファイルに追加します。
// package.json { "type": "module" }
これにより、すべての .js が解釈され、 .mjs ファイルは ES モジュールとして使用されますが、個々のファイルは .cjs を使用することで CommonJS として解釈できます。 extension.
オプション 2: .mjs 拡張子を明示的に使用します
ES モジュールとして扱われるファイルに .mjs 拡張子を付けて明示的に名前を付けます。 .js 拡張子を持つ他のすべてのファイルは、デフォルトで CommonJS として解釈されます。
追加の考慮事項
以上がNode.js で「構文エラー: モジュール外の import ステートメントを使用できません」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。