- import する script タグを用意
- script タグに
data-module
属性で名前をつける - 上記でつけた名前を使って import する
- script タグが実行されないように
type
にはtext/module
等を指定する
- script タグに
- このモジュールを script タグでロード
type="module"
を つけない (importmap は module の実行前に作る必要がある)- エントリポイントのモジュール名を
#
の後に指定- 例:
#main
- 省略すると実行されない
- 省略する場合は手動でインポートが必要
- 例:
URL.createObjectURL
で script タグごとに URL を作成- importmap で
data-module
の名前と URL をマッピング
<!DOCTYPE html>
<script type="text/module" data-module="add">
export const add = (a, b) => a + b
</script>
<script type="text/module" data-module="up">
import { add } from "add"
const up = x => add(x, 1)
export default up
</script>
<script type="text/module" data-module="main">
import up from "up"
console.log(up(1))
// 2
</script>
<script src="https://gistcdn.githack.com/nexpr/3c4a07d1f9b937030e46bd48a4cf09e3/raw/7f2ebc2f78b0582699f1671c06e6cc7e98b43eac/import-script-module.js
#main"></script>