ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js でのネイティブ ES モジュールの使用の紹介
この記事では、Node.js でのネイティブ ES モジュールのメソッド分析の使用方法を主に紹介し、必要な友達は参考にしてみましょう。
バージョン 8.5.0 以降、Node.js はネイティブ ES モジュールをサポートし、コマンド ライン オプションを通じて有効にすることができます。新機能は主に Bradley Farias によるものです。
1. デモ
この例のコード ディレクトリ構造は次のとおりです。
えー実行してくださいデモ:
esm-demo/ lib.mjs main.mjs
2. チェックリスト: 注意事項
ES モジュール:
モジュールを動的にインポートすることはできません。ただし、動的 import() の作業は進行中であり、すぐにサポートが利用可能になる予定です。
·__dirname や __filename などのメタ変数はありません。ただし、同様の関数「import.meta」が提案されています。次のようになります:
export function add(x, y) { return x + y; }
·現在、すべてのモジュール識別子は URL です (この部分は Node.js の新機能です):
·File - ファイル拡張子付きの相対パス: ../util /tools.mjs
・
・
CJS モジュールとの相互運用性
CJS モジュールをインポートできますが、常にデフォルトのエクスポート (module.exports の値) のみが存在します。 CJS モジュールで名前付きエクスポートをサポートすることはすでに取り組んでいますが、しばらく時間がかかる可能性があります。あなたが助けることができるなら、あなたはそれをすることができます。
import {add} from './lib.mjs';
console.log('Result: '+add(2, 3));
·
·
·
·
3. 以前のバージョンの Node.js での ES モジュール
8.5.0 より前の Node.js バージョンで ES モジュールを使用したい場合は、John-David Dalton による @std/esm を参照してください。
ヒント: ロック解除可能な追加機能を有効にしない場合、Node.js はネイティブ ES モジュールと 100% の互換性を保ちます。
現在の計画は、ES モジュールを Node.js 10 LTS でデフォルトで利用できるようにすることです。
さらなる読書
Node.js およびブラウザーの ES モジュールの詳細については、次を参照してください:
·
· 「モジュール指定子: ES モジュールの新機能?」 [なぜ .mjs なのか? モジュール指定子はどのように解決されるのですか? など]
·
「モジュール」[ES モジュールの詳細な章] 「ES6 の探索」]今後の ECMAScript 提案:
· ブログ: 「ES 提案: import() – ES モジュールを動的にインポートする」
· 提案: "import.meta"
以上がNode.js でのネイティブ ES モジュールの使用の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。