ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js で「SyntaxError: Unexpected token import」が発生するのはなぜですか?

Node.js で「SyntaxError: Unexpected token import」が発生するのはなぜですか?

Linda Hamilton
リリース: 2024-12-19 04:41:53
オリジナル
526 人が閲覧しました

Why Am I Getting a

Node.js: 予期しないトークンのインポート エラーについて

Node.js では、通常、「SyntaxError: Unexpected token import」エラーが発生します。サポートされていないインポート構文を使用しようとしていることを示します環境。

インポート構文は、モジュールをインポートできるようにする ES6 (ECMAScript 2015) の機能です。ただし、Node.js では、さまざまなバージョンのリリースに伴い、ES6 モジュールのインポートのサポートが段階的に導入されています。

Node.js バージョンでの ES6 モジュールのサポート

  • ノード 13 : インポートによるモジュールのインポートは安定しており、完全にサポートされています。 .mjs ファイルを使用するか、package.json ファイルで "type": "module" を設定できます。
  • ノード 12: ノード 13 と同様に、.mjs ファイルを使用してモジュールをインポートできます。または、package.json で "type": "module" を使用します。ただし、 --experimental-modules フラグを指定してノードを実行する必要があります。
  • ノード 9: ノード 9 では、モジュールのインポートはまだ実験的であり、.mjs ファイルと--experimental-modules フラグ。

ノード 13、ES6 より前モジュールのインポートはサポートされていません

13 より前の Node.js バージョンでは、インポート構文はネイティブにサポートされていませんでした。したがって、以前のバージョンでこのエラーが発生した場合は、ランタイム環境でサポートされていない JavaScript 構造を使用しようとしていることが原因です。

クラシック Require ステートメントへのフォールバック

この問題を解決するには、インポートをサポートしていない Node.js バージョンでモジュールをインポートするための従来の require ステートメントの使用に戻す必要があります。例:

const express = require("express");
ログイン後にコピー

ES6/7 機能に Babel を使用する

Node.js で ES6/7 機能を使用したい場合は、コードをコンパイルできます。バベルを使って。 Babel は、新しい JavaScript 構文を古い環境と互換性のあるコードに変換する JavaScript トランスパイラーです。 Babel を使用してサーバーをコンパイルする例を次に示します。

npm install --save-dev babel-cli babel-preset-env
npx babel-node script.js
ログイン後にコピー

以上がNode.js で「SyntaxError: Unexpected token import」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート