LoginSignup
12
6

More than 1 year has passed since last update.

フルスタックなWebフレームワーク SvelteKit の始め方

Last updated at Posted at 2022-12-23

SvelteKit とは

SvelteKit とは Next.jsNuxtJS のような、SSR(Server Side Rendering) も可能なフルスタックWebアプリケーションフレームワークです。
対応関係はこんな感じです。

フロントライブラリ フルスタックフレームワーク
Svelte SvelteKit
React Next.js
Vue.js NuxtJS

ついに 1.0 がリリースされました!

2022年12月14日、待望の SvelteKit 1.0 がリリースされましたー!

SvelteKit の学習

事前に用意するものは Chrome だけで十分です。前提知識は(たぶん)必要ありません。(SSR と CSR の違い を理解できてれば怖いものなしです。)

さっそく チュートリアル日本語版) にアクセスしましょう!

このチュートリアルは Svelteのとき と同様よくできていて、ブラウザ上でコードを書いて動かすことができます。
しかも、フォルダのツリー構造が表示されるため、より分かり易いです。
画面構成は以下の様になっていて、①説明を読む ②コードを書く ③結果を確認する を1画面でスムーズに進めることができます。(Svelteのチュートリアルと同じですね!)

image.png

進め方はだいたいわかると思うのでここでは省きます。
チュートリアルを完了できれば SvelteKit の基礎が身につきます。

本格的にアプリケーションを作成したくなったら

GitHub Codespaces を使うのが便利です。 Chrome さえあれば開発環境が全て揃います!

GitHub にリポジトリを作成する

GitHub にアクセスしてアカウントを作成しましょう。
その後、以下の様にリポジトリの新規作成を開始します。
image.png

で、こんな感じでリポジトリの設定をして「Create repository」ボタンをクリックします。
Public を選択するのが重要です。じゃないと無料アカウントで GitHub Codespaces を利用できないはずです。)
image.png

リポジトリが作成されましたー。
image.png

GitHub Codespaces を起動する

以下の様に「Create codespace on main」ボタンをクリックすると Codespaces が別タブで起動します。
image.png

こんな感じです。ほぼ VSCode ですね!
image.png

SveteKit をセットアップする

ドキュメントに記載された手順を参考にプロジェクトを作成します。
Codespaces の「ターミナル」領域でコマンドを実行できます。

ターミナル
$ npm create svelte@latest .

いろいろ聞かれるので、こんな感じで回答します。
image.png

起動する

以下のコマンドを実行します。

ターミナル
npm install
npm run dev

すると、以下の様にブラウザーで開くかどうかをポップアップで表示されるので「ブラウザ―で開く」ボタンをクリックします。(尚、キーボードの Ctrl キーを押しながら http://127.0.0.1:5173/をクリックしても同じ結果になります。)
image.png

たまにポートフォワードがうまくいかず 502 エラーが発生します。
この場合、コマンド末尾に -- --host 127.0.0.1 を追加してみてください。

こんな感じで表示されます。ちゃんとアプリにアクセスできました!
image.png

Codespaces で動かす際の注意点

POST 送信時に CORS チェックでエラーになってしまいます。
これは csrf の設定を false にすることで回避できます。

以下の様に設定します。が、この設定はコミットしてはいけません

svelte.config.js
import adapter from '@sveltejs/adapter-auto';
 
/** @type {import('@sveltejs/kit').Config} */
const config = {
  kit: {
-    adapter: adapter()
+    adapter: adapter(),
+    csrf: false
  }
};
 
export default config;

その後...

あとは前出のチュートリアルを見ながら好きなように実装しましょう!
Next.jsNuxtJS に比べて起動速度と修正が反映される速度がとても速いです。実装するのが(たぶん)楽しく感じるはずです。

まとめ

以上の様に、SvelteKitChrome さえあれば手軽に始めることができます。
是非試してみてください!😀

情報源

12
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6