git clone
してもいいし、degit
でもいいです
npx degit loop0429/svelte-session {project_name}
cd {project_name}
yarn install
yarn dev // 開発 http://localhost:5000
yarn build // 本番用ビルド
書かれてないものはテキトウに読んで調べてください。
src/App.svelte
: メインです。src/routes/*.svelte
: 各ページのコンポーネントです。src/constants/
の{同一ファイル}.js
に記述して、レイアウトに関する記述がメインです。src/constants/page.js
: svelte-spa-router
用のルーティング設定です。src/components/page/
Page.svelte
: src/routes/*.svelte
のコンテンツを読み込んでいますFadePage.svelte
: ページ切り替えしたときにFadeの効果が付与されます。上記Page.svelte
をwrapしています。ScalePage.svelte
: ページ切り替えしたときにScaleの効果が付与されます。上記Page.svelte
をwrapしています。build
時、PurgeCss
で使用されてないTailwind CSS
を除外する設定にしていますが、src/components/*
内で使用してるクラスが除外されてしまっています。svelte-spa-router
のせいかもしれない。svelte/store
を使用したstore.js
をimport
するとeslintで怒られたので、各ページで/* eslint-disable import/first */
を追記してます。transition
を使用する際に、transition:fade
のようにすると、in
とout
の両方が適用されます。unmount
される際(今回の場合、ページ切り替え時)に、out
のtransition
が実行されます。in:fade
のような記述の仕方をしています。