JavaScriptがわからない状態でsveltekitでサイトを作る時に踏んだ地雷
onMount
<script>の中のコードに関しては、サーバー側で動くものか、クライアント側で動くものかを意識する必要があります。クライアント側で動くロジックは必ずonMountの中に書かないといけない。また、console.logでログを取る際に、クライアント側実行だったらブラウザ、サーバー側実行ならコマンドラインで確認する必要があります。最初はそれがわからなくてなんで出力されないんだって戸惑っていました。
UIライブラリの選定
PCだけでなく必ずスマホでもコンポーネントの挙動を確認したほうがいいです。dropdown/drawのような新しいウィンドウを開く系のものはPC上では動く自動で閉じてもスマホのsafariで上手く動かなかったりする。svelteはエコシステムはreactなどにまだ勝てないため、そもそも選べるものが少なく、現時点でshadcn-svelteが一番いいかなと
デプロイ
プロダクション環境に切り替える際は、アダプターを@sveltejs/adapter-nodeに切り替える必要があります。linuxサーバー上で動かす際はpm2を使うといいでしょう、csrfをオンにする場合はパラメータにORIGIN=https://hogehoge.com
を入れるといいでしょう。またアップロードなどが存在する場合、手動でBODY_SIZE_LIMITを設定する必要があります。
LinkOption
https://kit.svelte.jp/docs/link-options
デフォルトではdata-sveltekit-preload-codeになっているため、マウスがリンクの上に移動したらそのページのデータをダウンロードし始めてしまいます。通信料でかかるクラウドを使って料金を気にする場合は変更するといいでしょう。
ページの最後