このページは、Nuxt.js のスニペットをまとめる予定のページです。
目次
注意
- コードのライセンスは CC0 (クレジット表示不要、改変可、商用可) です。
- 言語は基本的に TypeScript です。
スニペット
<html> lang 属性の追加
レイアウト
レイアウトの切り替え
ページ
ページ遷移アニメーション
Axis Module
トランスパイル
- IE11 や旧 Edge などで動作させたいときに使用します。
baseURL の設定 (処理上)
baseURL の設定 (dotenv)
- 補足
- Axios Module は
.env
に API_URL
があると API_URL
を baseURL
として扱います
- 参考
baseURL の切り替え (dotenv 開発・本番)
開発時 (nuxt
) は .env.development
, 本番時 (nuxt build
) は .env.production
ファイルを使用する設定です。
- 補足
- 最低限
require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` })
のほうがあれば Axios Module の baseURL の設定は可能です
(ビルド前に API_URL
が定義されていることが必要なため)
@nuxtjs/dotenv
の設定もしておくとページ実行中の環境変数の切り替えもできます
- 参考
baseURL の切り替え (dotenv 開発・本番 + proxy)
開発時 (nuxt
) は .env.development
, 本番時 (nuxt build
) は .env.production
ファイルを使用する設定です。
@nuxtjs/proxy
を使用して、CORS のエラーを回避します。
- 補足
API_URL
(baseURL) を設定していないと baseURL が http://localhost:3000
になりプロキシがうまく動作しないため API_URL
も設定します。
- 参考
Auth Module
ローカル認証
asyncData() + Axios Module
- 補足
import '@nuxtjs/axios'
で $axios
の型定義を読み込みます。
asyncData()
上では methods 内のメソッドを実行できません (インスタンスが生成されていない)
- 参考
fetch()
fetch() + Axios Module
※ Nuxt 2.12 以降の fetch()
です。
fetch(context) + Vuex + Axios Module
※ Nuxt 2.12 以降 fetch(context)
は非推奨になっていますが、fetch
を middleware
に変更して使用できます。