基本的に目的や機能ごとに分割します。また、実行タイミングをコントロールできるようにひとつの関数としてまとめるようにしてください。
// 関数としてexportする
export default function () {
// 処理...
}
<script type="module"> を使用する必要があります。<script> タグでは import / export は動作しません。<!-- import/exportは使えない -->
<script src="main.js"></script>
<!-- import/exportが使える -->
<script type="module" src="main.js"></script>
分割したモジュールの中で、import した時点で即座にブラウザや DOM に影響する処理が走る実装は避けてください。
import { showAlert } from "./show-alert.js";
document.querySelector("button").addEventListener("click", showAlert);
// ❌ 悪い例:import時にすぐ実行される
alert("実行されました");
// ✅ 良い例:関数としてexportし、必要なときだけ実行
export function showAlert() {
alert("実行されました");
}