JavaScript のインポート地図がクロスブラウザでサポートされるようになりました。

マップのインポートにより、ES モジュールのインポートが大幅に改善されました。

ES モジュールは、ウェブ アプリケーションに JavaScript コードを含めて再利用するための最新の方法です。モジュールは最新のブラウザでサポートされており、JavaScript 開発の古い非モジュラー アプローチよりもいくつかの利点があります。

ES モジュールを最新の方法で使用するには、<script type="importmap"> タグを使用します。このタグを使用すると、外部モジュール名と対応する URL のマッピングを定義できます。これにより、外部モジュールをコードに簡単に含めて使用できます。

<script type="importmap"> アプローチを使用するには、まず HTML ドキュメントの <head> セクションにその方法を追加する必要があります。このタグ内で、モジュール名を対応する URL にマッピングする JSON オブジェクトを定義できます。例:

<script type="importmap">
  {
    "imports": {
      "browser-fs-access": "https://unpkg.com/browser-fs-access@0.33.0/dist/index.modern.js"
    }
  }
</script>

このコードは、"browser-fs-access" という名前の単一の外部モジュールを定義し、unpkg CDN でホストされている browser-fs-access ライブラリの URL にマッピングします。このマッピングが設定されたら、import キーワードを使用して、browser-fs-access ライブラリをコードに含めることができます。import キーワードは、type="module" 属性を持つ script タグ内でのみ使用できます。

<button>Select a text file</button>
<script type="module">
  import {fileOpen} from 'browser-fs-access';

  const button = document.querySelector('button');
  button.addEventListener('click', async () => {
    const file = await fileOpen({
      mimeTypes: ['text/plain'],
    });
    console.log(await file.text());
  });
</script>

<script type="importmap"> タグと import キーワードを使用すると、JavaScript 開発の古いモジュラー以外のアプローチよりも多くのメリットがあります。コードが依存する外部モジュールを明確かつ明示的に指定できるため、コードの理解とメンテナンスが容易になります。全体として、<script type="importmap"> タグで ES モジュールを使用することは、ウェブ アプリケーションに JavaScript コードを含めて再利用する最新かつ強力な方法です。サポートを特徴検出するには、次のようにします。

if (HTMLScriptElement.supports('importmap')) {
  // The importmap feature is supported.
}

対応ブラウザ

  • Chrome: 89。
  • Edge: 89.
  • Firefox: 108.
  • Safari: 16.4。

関連情報