Taming LiveView's JavaScript hooks at scale
lazy-hooknpm install @jump-app/lazy-hookesbuild: --format=esm --splitting
__PKG__app.js
__CHUNK__hook chunk
<script type="module" src={~p"/assets/app.js"}>app.jsHook mounts and begins importing
User navigates away; the hook is destroyed
Import resolves
hooks: { EditorHook }import("./hooks/editor")mounted()updated()| lazyHook(() => import(...))Good candidates | import ... from ...Usually keep eager |
|---|---|
| Large dependencies on occasional pages | Small hooks used throughout the app |
| Editors, charts, specialized pickers | Hooks requiring immediate setup |