
よっしー
こんにちは。よっしーです(^^)
今日は、SvelteKitでの移行について解説しています。
背景
SvelteKitでの移行について調査する機会がありましたので、その時の内容を備忘として記事に残しました。
preloadCodeの引数はbaseを接頭辞として付ける必要があります
SvelteKitは、特定のパスに関連付けられたコードとデータをプログラムによってロードするためのpreloadCode
とpreloadData
という2つの関数を公開しています。バージョン1では、微妙な非一貫性がありました —— preloadCode
に渡されるパスはbase
パス(設定されている場合)を接頭辞として付ける必要がなかった一方で、preloadData
に渡されるパスには必要でした。
これはSvelteKit 2で修正されました —— どちらの場合も、base
が設定されている場合はパスにbase
を接頭辞として付ける必要があります。
さらに、preloadCode
は現在、複数(n個)の引数ではなく単一の引数を取るようになりました。
解説
この変更は、SvelteKitのプリロード機能に関する3つの重要な更新を説明しています:
- 非一貫性の問題(バージョン1):
preloadCode
とpreloadData
で異なる動作をしていましたpreloadCode
:baseパスの接頭辞が不要preloadData
:baseパスの接頭辞が必要- これは開発者を混乱させる可能性がある設計でした
- 動作の統一(バージョン2):
- 両方の関数で同じルールが適用されるようになりました
- baseパスが設定されている場合は、必ず接頭辞として付ける必要があります
- これにより、APIの一貫性が向上し、より予測可能な動作になりました
preloadCode
の引数の変更:
- 以前:複数の引数を受け付け
- 現在:単一の引数のみ
- これはAPIをよりシンプルにし、使用方法を明確にする変更です
この更新により:
- APIの一貫性が向上
- 使用方法がより明確に
- 開発者の混乱を減少
という効果が期待できます。
おわりに
今日は、 SvelteKitでの移行について解説しました。

よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント