es モジュールはノードで実行できますか?
es モジュールはノードで実行できます。ノードはバージョン 8.5.2 からネイティブ es モジュールをサポートしています。この機能は、コマンド ライン オプションを通じてオンにできます。es モジュール (ECMAScript モジュールとも呼ばれます)は JavaScript コードの再利用メカニズムですが、require() は es モジュールでは使用できません。
この記事の動作環境: Windows 10 システム、nodejs バージョン 12.19.0、Dell G3 コンピューター。
es モジュールはノードで実行できます
バージョン 8.5.0 以降、Node.js はネイティブ ES モジュールのサポートを開始し、この機能はコマンド ライン オプションを通じてオンにできます。新機能は主に Bradley Farias によるものです。
1. デモ
この例のコード ディレクトリ構造は次のとおりです:
esm-demo/ lib.mjs main.mjs
lib.mjs:
export function add(x, y) { return x + y; }
main.mjs:
import {add} from './lib.mjs'; console.log('Result: '+add(2, 3));
デモを実行する:
$ node --experimental-modules main.mjs Result: 5
2. チェックリスト: 注意すべき事項
ES モジュール:
·モジュールを動的にインポートすることはできません。ただし、動的 import() の作業は進行中であり、すぐにサポートが利用可能になる予定です。
·__dirname や __filename などのメタ変数はありません。ただし、同様の関数「import.meta」が提案されています。次のようになります:
console.log(import.meta.url);
· すべてのモジュール識別子が URL になりました (この部分は Node.js の新機能です) :
·ファイル - ファイル拡張子付きの相対パス: ../util/tools.mjs
·ライブラリ - ファイル拡張子なし、パスなし lodash
· npm ライブラリをより適切に利用できるようにする方法(バンドラーを使用しない) ブラウザーでの動作はまだわかりません。 1 つの可能性は、パスを実際のパスにマップする RequireJS スタイルの構成データを導入することです。現在、ブラウザでベア パス モジュール識別子を使用することは違法です。
CJS モジュールとの相互運用性
CJS モジュールをインポートできますが、常にデフォルトのエクスポート (つまり module.exports の値) のみが含まれます。 CJS モジュールで名前付きエクスポートをサポートすることはすでに取り組んでいますが、しばらく時間がかかる可能性があります。あなたが助けることができるなら、あなたはそれをすることができます。
import fs1 from 'fs'; console.log(Object.keys(fs1).length); // 86 import * as fs2 from 'fs'; console.log(Object.keys(fs2)); // ['default']
· ES モジュールでは require() を使用できません。主な理由は次のとおりです。
· パス解決の動作が若干異なります。ESM は NODE_PATH と require.extensions をサポートしません。また、その識別子が常に URL であるという事実により、いくつかのわずかな違いが生じます。
· ES モジュールは常に非同期でロードされるため、Web との互換性が最大限に確保されます。この読み込みスタイルを、require() による CJS モジュールの同期読み込みと混合することはできません。
· 同期モジュールの読み込みを無効にすると、ES モジュールのトップレベル待機インポート用のフォールバック パスも残ります (現在検討中の機能)。
推奨学習: 「nodejs ビデオ チュートリアル 」
以上がes モジュールはノードで実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









nvm でノードを削除する方法: 1. 「nvm-setup.zip」をダウンロードして C ドライブにインストールします; 2. 「nvm -v」コマンドで環境変数を構成し、バージョン番号を確認します; 3. 「nvm」を使用しますinstall" コマンド ノードのインストール; 4. "nvm uninstall" コマンドでインストールしたノードを削除します。

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

この期間中、私は Tencent ドキュメントのすべてのカテゴリに共通する HTML 動的サービスを開発していましたが、さまざまなカテゴリへのアクセスの生成と展開を容易にし、クラウド移行のトレンドに従うために、Docker を使用して修正することを検討しました。サービス内容や製品バージョンを一元管理します。この記事では、私が Docker を提供するプロセスで蓄積した最適化の経験を参考として共有します。

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Nodejs実行可能ファイルをpkgでパッケージ化するにはどうすればよいですか?次の記事では、pkg を使用して Node プロジェクトを実行可能ファイルにパッケージ化する方法を紹介します。

「node-gyp.js」が「Node.js」のバージョンと一致しないため、npm node gyp が失敗します。解決策は次のとおりです: 1. 「npm cache clean -f」を使用してノード キャッシュをクリアします; 2. 「npm install -」を使用します。 g n" n モジュールをインストールします。 3. 「n v12.21.0」コマンドを使用して、「node v12.21.0」バージョンをインストールします。

シングルサインオンシステムとは何ですか? Nodejsを使用して実装するにはどうすればよいですか?次の記事ではnodeを使ってシングルサインオンシステムを実現する方法を紹介しますので、参考になれば幸いです。
