モジュール写像

モジュール写像 (JavaScript)

[5] モジュール写像 (module map) は、 モジュールスクリプトの読み込みを管理するための仕様書上のデータ構造です。 文書ワーカーごとに読み込み中や読み込み済みのモジュールスクリプトURL が保存されており、二重に fetch されるのを防ぐ働きをしています。

仕様書

意味

[3] モジュール写像 (module map) は、 絶対URLから値への写像です >>2

[6] この写像は、輸入された JavaScript モジュールが、 一度だけ fetch構文解析評価されるようにするためのものです >>2

[4] 値は、モジュールスクリプトnullfetching のいずれかです >>2

[20] fetching は、スクリプトのfetchが実行中であることを表します。 仕様書上は特別な値として扱われていますが、同時に、他の fetch の完了を待つ (wait) 他のいくつかの処理のリスト (履行時のコールバックを登録できる約束のようなもの) とも捉えれれます。

文脈

[11] 文書は、モジュール写像 (module map) を持ちます。 初期状態では、空のモジュール写像です。 >>10

[15] WorkerGlobalScope は、 モジュール写像 (module map) を持ちます。 初期状態では、空のモジュール写像です。 >>14

[12] 環境設定群オブジェクトは、 モジュール写像 (module map) を持ちます >>13。 これは文書ワーカー大域オブジェクトモジュール写像を返すものです。

[7] この写像は、単一モジュールスクリプトのfetchで参照・変更されます。

[8] この写像は、 HostResolveImportedModule で参照されます。

[16] この写像は、未実現値化包括的子孫モジュールスクリプト群で参照されます。

歴史

[9] Move module map to Document/WorkerGlobalScope · whatwg/html@9a889fe ( 版) <https://github.com/whatwg/html/commit/9a889fee2ecb106974fb48fa50491edd77047954>

[17] Clarify what null means in the module map (domenic著, ) <https://github.com/whatwg/html/commit/317160cc396f08506e920bdc5e28c27aad633529>

[18] Editorial: refactor modules to use Infra Standard data structures (domenic著, ) <https://github.com/whatwg/html/commit/37ea5ac07f36b71b1b9e3861804f623752ed210d>

[19] Don't handle impossible errors in HostResolveImportedModule (domenic著, ) <https://github.com/whatwg/html/commit/616df18cd9e6c17878db5167909c69ca9f9d2906>

[21] Add <link> rel="modulepreload" (domenic著, ) <https://github.com/whatwg/html/commit/7c28027b80208aa6b126fa7b086c44877f584178>

[22] preload, destinations, and module scripts · Issue #486 · whatwg/fetch () <https://github.com/whatwg/fetch/issues/486>