Node.js で ES6 インポートを使用するにはどうすればいいですか? [重複] 質問する

Node.js で ES6 インポートを使用するにはどうすればいいですか? [重複] 質問する

私は Node.js での ES6 インポートの使い方を習得しようとしており、次の例で提供されている構文を使用しようとしています。

チートシートリンク

見ていますサポートテーブルしかし、どのバージョンが新しいインポート ステートメントをサポートしているかはわかりませんでした (テキスト import/require を探してみました)。現在、Node.js 8.1.2 を実行しており、チートシートが .js ファイルを参照しているので、.js ファイルでも動作するはずだと考えています。

コードを実行すると(チートシートの最初の例から抜粋):

import { square, diag } from 'lib';

次のエラーが発生します:

SyntaxError: 予期しないトークンのインポート。

インポートしようとしているライブラリへの参照:

//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}

何が欠けているのでしょうか。また、どうすれば自分の発言をnode認識できるのでしょうか。import

ベストアンサー1

Node.js には ES6 サポートの実験的なサポートが含まれています。詳細については、こちらをご覧ください。esm を有効にする

TLDR;

Node.js >= v13

Node.js 13 以降では非常に簡単です。次のいずれかを実行する必要があります。

  • 拡張子を付けてファイルを保存する.mjsか、
  • { "type": "module" }最も近い を追加しますpackage.json

ECMAScript モジュールを使用するには、上記のいずれかを実行するだけで済みます。

Node.js <= v12

Node.jsバージョンを使用している場合9.6- 12、拡張子付きの ES6 モジュールを含むファイルを保存し.mjs、次のように実行します。

node --experimental-modules my-app.mjs

おすすめ記事