0Pricing
Sveltejs Academy · レッスン

Svelte 4から5への移行

公式の移行ガイドとcodemodを使い、Svelte 4のコンポーネントをRunes対応に変換します。

「Svelte 4から5への移行」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

移行への心構え

Svelte 5 はほぼ完全な後方互換性を備えています。コンポーネント単位で移行できます。

公式 Codemod

移行スクリプトを実行すると、従来の構文を自動的に変換できます。

npx sv migrate svelte-5

実行内容

codemod は export let を $props() に、$: を $derived/$effect などに書き換えます。

出力を確認する

移行後のコードは必ず確認してください。一部のパターンでは手動で判断する必要があります。

共存

同じファイル内に古い構文と新しい構文を共存させられます。Svelte 5 はブロックごとに判別します。

リアクティブな変更

$state のプロキシによって array.push() もリアクティブになります。古い回避策としての再代入は削除できる場合があります。

イベントディスパッチャー

createEventDispatcher は、$props() を通じて渡すコールバック props に置き換えられます。

スロットとスニペット

スロットは引き続き使用できますが、新しいコンポーネントではスニペットへの書き換えを検討してください。

ストアの互換性

svelte/store は引き続きサポートされています。ストアを使い続けることも、アプリの状態管理を $state にリファクタリングすることもできます。

ライブラリの互換性

ほとんどのライブラリは両方のバージョンを対象にしています。コンポーネントを 1 つずつ更新してください。

ドキュメント

Svelte 5 のドキュメントには、左右に並べた比較を含む移行ガイドがあります。

クイックチェック

Svelte 4 と 5 の構文を混在させられますか?

まとめ

npx sv migrate svelte-5 を使って Svelte 5 に移行できます。段階的な導入のために、古い構文も引き続き動作します。

よくある質問

「Svelte 4から5への移行」レッスンは無料ですか?

はい。「Svelte 4から5への移行」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「Svelte 4から5への移行」で何を学びますか?

公式の移行ガイドとcodemodを使い、Svelte 4のコンポーネントをRunes対応に変換します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Svelte 4から5への移行」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 非リアクティブな状態のための$state.raw
  2. 複雑な導出のための$derived.by
  3. 手動クリーンアップのための$effect.root
  4. Svelte 4から5への移行
← Sveltejs Academyに戻る