JavaScript

import 文

 編集:2022.08.23 by T.A.

他のモジュールによってエクスポートされた読み込み専用のライブ バインディングをインポートするために使用します。インポートされたモジュールは、宣言するかどうかにかかわらず、Strict モードになります。import 文は、スクリプトに type="module" がない限り、埋め込みスクリプトで使用できません。インポートされたバインディングは、バインディングをエクスポートしたモジュールによって更新されるため、ライブ バインディングと呼ばれます。

また、type="module" のスクリプトを必要としない動的 import() という関数のようなものもあります。

<script> タグの nomodule 属性を使用すると、下位互換性を確保できます。

オフライン環境で動作チェックをするときは適当なサーバを立ててHTMLを表示する必要があります。

import defaultExport from "module-name"
import * as name from "module-name"
import { export1 } from "module-name"
import { export1 as alias1 } from "module-name"
import { export1 , export2 } from "module-name"
import { foo , bar } from "module-name/path/to/specific/un-exported/file"
import { export1 , export2 as alias2 , [] } from "module-name"
import defaultExport, { export1 [ , [] ] } from "module-name"
import defaultExport, * as name from "module-name"
import "module-name"
var promise = import("module-name")
defaultExport モジュールからのデフォルトのエクスポートを参照する名前。
module-name インポートするモジュール。モジュールがある .js ファイルへの相対または絶対パス名です。バンドラーによっては、拡張子を加えることが許され、あるいは求められることがあります。環境を確認してください。シングルクォートとダブルクォートだけが使えます。
name インポートを参照するとき名前空間のように用いられるモジュールオブジェクトの名前。
exportN インポートするエクスポートの名前。
aliasN 指定されたインポートを参照する名前。
import * as myModule from '/modules/my-module.js';

テスト