モジュール
ES Modules(ESM)は、JavaScript の公式なモジュールシステムです。ES2015(ES6)で導入され、現在で...
export キーワードを使うと、モジュール内の変数、関数、クラスなどを外部に公開できます。エクスポートされた値は、他のモジュー...
import キーワードを使うと、他のモジュールからエクスポートされた値を読み込むことができます。読み込んだ値は、そのモジュール...
ES Modules には、default export(デフォルトエクスポート)と named export(名前付きエクスポ...
as キーワードを使うと、エクスポートやインポート時に名前を変更できます。名前の衝突を避けたり、より分かりやすい名前に変えたりす...
`export ... from` 構文を使うと、他のモジュールからインポートした値をそのまま再エクスポートできます。複数のモジ...
`import * as` 構文を使うと、モジュールのすべてのエクスポートを1つのオブジェクト(名前空間)としてインポートできま...
`import()` 関数を使うと、モジュールを動的に(実行時に)読み込むことができます。通常の import 文と異なり、条件...
`import.meta` は、現在のモジュールに関するメタ情報を提供するオブジェクトです。モジュールの URL や環境固有の情...
モジュールをインポートするだけで、その中のコードを実行させることができます。これを「サイドエフェクトのみのインポート」と呼びます...
通常の import 文は静的で、条件分岐の中では使用できません。しかし、動的インポート `import()` を活用することで...
ES Modules では、各モジュールファイルが独自のスコープを持ちます。これを「モジュールスコープ」と呼びます。従来のスクリ...
ES Modules では、同じモジュールが複数の場所からインポートされても、そのコードは一度だけ実行されます。これは「モジュー...
トップレベル await は、ES2022 で導入された機能で、モジュールの最上位で直接 await を使用できます。async...
モジュール A がモジュール B をインポートし、モジュール B もモジュール A をインポートしている状態を「循環参照」と呼び...
ES Modules では、すべてのコードが自動的に厳格モード(strict mode)で実行されます。明示的に `"use s...
ブラウザで ES Modules を使用するには、script タグに `type="module"` 属性を追加します。これに...
アプリケーションの初期読み込みを高速化するために、すべてのモジュールを最初から読み込むのではなく、必要になったタイミングで読み込...
`nomodule` 属性を使うと、ES Modules をサポートしないブラウザ向けのフォールバックスクリプトを提供できます。...
ES Modules をブラウザで使用する際、異なるオリジン(ドメイン)からモジュールを読み込む場合は CORS(Cross-O...
Import Maps(インポートマップ)は、ブラウザでモジュール指定子をどの URL に解決するかを定義する機能です。これによ...
CommonJS は Node.js で長年使われてきたモジュールシステムです。`require()` と `module.ex...
CommonJS では、`require()` でモジュールを読み込み、`module.exports` で値をエクスポートしま...
ES Modules(ESM)と CommonJS(CJS)は、JavaScript の2つの主要なモジュールシステムです。両者...
Node.js では ES Modules と CommonJS の両方をサポートしています。どちらのモジュールシステムとして扱...
多くの Node.js プロジェクトが CommonJS から ES Modules への移行を進めています。この記事では、移行...
モジュールバンドラーは、複数の JavaScript ファイル(モジュール)を1つまたは少数のファイルにまとめるツールです。ブラ...
Tree Shaking は、使用されていないコード(デッドコード)をバンドルから除外する最適化技術です。これにより、最終的なバ...
package.json の `exports` フィールドは、パッケージのエントリーポイントを細かく制御できる機能です。Nod...
ES Modules(ESM)は、JavaScript の公式なモジュールシステムです。コードを複数のファイルに分割し、必要な部...
npm パッケージを公開する際、ES Modules(ESM)と CommonJS(CJS)の両方に対応させることで、より多くの...