スクリプトの読み込み時、<head> タグ内で defer 属性や type="module" を活用することで、パフォーマンスを損なわずにスクリプトを読み込めます。
ES6 モジュールを利用する場合は、type="module" を指定して読み込みます。これにより、スクリプトは自動的に遅延実行され、依存関係も管理しやすくなります。
<head>
<script type="module" src="/assets/js/main.js"></script>
</head>
従来のスクリプトを利用する場合は、defer 属性を付与することで HTML のパースを妨げずにスクリプトを読み込めます。
<head>
<script defer src="/assets/js/common.js"></script>
<script defer src="/assets/js/page-specific.js"></script>
</head>
一部のケースでは、即座に実行したいスクリプトや初期化処理が必要な場合があります。その場合は、インラインスクリプトや defer を使わない読み込みも検討します。
<!-- インライン初期化スクリプト(最小限に) -->
<head>
<script>
// 重要な初期設定のみ
window.APP_CONFIG = {
apiUrl: "/api",
debug: false,
};
</script>
</head>
<!-- 外部ライブラリで即座の実行が必要な場合 -->
<head>
<script src="/assets/vendor/critical-lib.js"></script>
</head>