ushironoko
{
sns: @ushiro_noko,
jobs: {
main: STORES,
sub: NuxtLabs Japan
}
}
よりモダンになったVue.jsフレームワーク
https://nuxt.com/docs
自分で作るのも良いが
Nuxtプロジェクトやツールを作る時のスターターテンプレート集
nuxt/content向けのデザインテンプレート
ポチっとするとすぐに始められる
以上!
いつものやつ
https://github.com/ushironoko/next-tutorial-on-nuxt-3
NextチュートリアルをNuxt3でやる
useHead(旧useMeta)なしで
metaの設定が可能に
composables 編
何に使うかわからんのもある
ここら辺の話をします
例)
server/clientどっちでもアクセス可
非同期データの管理に使える
返り値をピックしたり、直接加工することも可能
default にファクトリ関数を渡すとデフォルト値を設定できる
デフォルトでAPIレスポンスはキャッシュされる
point
非同期データの管理に使える
ページナビゲーションをブロックしない(@nuxtjs/composition-api のuseAsyncと同じ挙動)
useAsyncDataに { lazy: true }
を渡しても同じ
useAsyncData + $fetchのラッパー
$fetchはユニバーサルに動作するfetchライブラリofetchのAPI
API Routesの定義から型を生成して補完される
これはfetch専用
useAsyncData + $fetchのラッパー
useAsyncData同様ナビゲーションをブロックしない
useFetchに { lazy: true }
を渡しても同じ
useFetchやuseAsyncDataが
キャッシュしている値を取り出す
取り出すにはキーを渡す必要がある
キャッシュはリアクティブな値なので直接書き換えられる(リクエストでfailしたら前の
値を入れ直す等で使える)
useFetchやuseAsyncDataの
キャッシュしている値を
リフレッシュする
リアクティブにcookieを読み出し/書き込みできる
secure/domain/httpOnlyなど設定できる
watchオプションをfalseにすると値を更新してもcookieへ書き込まれない
localStorageなど使いたい場合は@vueuse/useStorageで
サーバーストレージとして
unjs/unstorageが組み込まれている
apiでインメモリキャッシュやストレージプロバイダーに値を書き込んだり読み出したりできる
dev/prodの切り替えも可能
https://nuxt.com/docs/guide/directory-structure/server#server-storage
サーバー/クライアントで共有しているNuxtのコンテキストにアクセスできる
useContextやuseStoreはこれに置き換えられる
provideで値を登録したりランタイムフックに登録したりできる
nuxt.config.tsで設定したenvにアクセスできる
privateなenvはサーバーでのみ参照可能
publicに登録したものはクライアントでも使える
.env ファイルがrootにあると自動で読み込むため設定は不要
SSRに最適化されたrefのようなもの
サーバーで実行され、クライアントで参照できる(global stateとして使える)
setup プロパティや script setup の外で使う場合はコールバックの形式にする(しないとshared mutable stateになる)
or
Nuxtプロジェクトのうち、以下の機能を継承できる
以下のどちらかでpublicに
公開もできる
レイヤー固有の依存は
dependenciesに定義されて
いれば読み込み側で検知できる
例では
components/AppLayout
を継承した
Nuxt Moduleの開発やビルドフックの
拡張を簡単にできるAPI
基本的にはdefineNuxtModule
というAPIで定義する
@nuxt/kitからは便利な関数が
exportされている
isNuxt2/resolvePath/requireModule/
getNuxtVersion/addVitePlugin/ etc...
自作する人は既存のモジュールを参考に