HTMLのscriptタグのtype属性について
.htmlファイルでスクリプト(Javascriptのファイル)を読み込む際、下記のようなscriptタグを使うときの、type属性について調査した<script type="text/javascript" src="./app.js"></script>
概要
type属性はscriptの種類を指定し、それに合わせてHTMLがscriptを読み込む- とりうる種類は下記の3通り(それ以外の
typeを設定した場合、scriptタグが無視される)- MIMEタイプ
- デフォルト値のため、scriptタグに
type属性を設定しない場合、text/javascriptが設定される(Javascriptファイルをsrc属性に設定している場合を考えている) - 詳細はこちら:MIMEタイプについて
- デフォルト値のため、scriptタグに
- module
- Javascriptファイルがmoduleとして扱われる
- importmap
- Javascriptファイルがimport mapとして扱われる
- MIMEタイプ
MIMEタイプ
- MIMEタイプの基本的な内容はこちら:MIMEタイプについて
- カスタムMIMEタイプを定義することもできる
- 例:Reactで用いられるJSXはBabelというJavascriptコンパイラーをロードして、
type=text/babelを設定することで使用することができる(簡単な使用例はこちら:WordPressの記事に「手軽に」Reactアプリを埋め込む方法)
- 例:Reactで用いられるJSXはBabelというJavascriptコンパイラーをロードして、
module
- srcに設定したJavascriptファイル内で
exportをラベル付けしたオブジェクト(変数・関数)を、import宣言でインポートして利用することができる - 例
import {sayHi} from './sayHi.js';
importmap
- import mapは、JavaScript moduleをインポートするときにブラウザーがモジュール指定子を解決する方法を制御できるようにするJSON オブジェクト(
import宣言でどう書いたら何がインポートされるかを決めるJSON) - 例
<script type="importmap"> { "imports": { "dayjs": "https://cdn.skypack.dev/dayjs@1.10.7", } } </script> <script type="module"> import dayjs from 'dayjs'; </script>
参照
- https://www.geeksforgeeks.org/html-script-type-attribute/
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
- https://ja.javascript.info/modules-intro
- https://www.freecodecamp.org/news/javascript-modules-explained-with-examples/
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap





ディスカッション
コメント一覧
まだ、コメントがありません