Nuxt.jsの「layouts」を使用してレイアウトの共通化を行う方法|Nuxt.jsの基本

Nuxt.jsにはぺーじごとにレイアウトを切り替える機能があります。
元から存在するのは「layouts/default.vue」だけですが、「layouts」フォルダ内にレイアウト用のファイルを作成し、「pages」配下の各ページファイルからレイアウトを指定して使います。
この機能をうまく使うことで、複数ページで共通使用するレイアウトをまとめて管理できます。
レイアウトの作成
default.vue
まずデフォルトで設定されている「layouts/default.vue」の中身は下記のようになっています。
<template>
<div>
<Nuxt />
</div>
</template>この<Nuxt />タグの中にpages配下のコードが入ります。
これをコピーして、レイアウト共有の処理やコードを追加していきます。
基本的にはpagesと同じようにNuxt.jsの処理も普通に書けます。
レイアウトの適用方法
レイアウトを適用したいときは、「pages」配下のファイルのexport default直下のlayoutでファイル名を指定します。
例えば「layouts/list.vue」を適用したい場合は「layout: 'list'」と指定します。
<script>
export default {
layout: 'list', // ← 「list.vue」が適用される
data() {
return {
}
},
methods: {
}
}
</script>error.vue
「layouts/error.vue」を作成すると、全ページ共通のエラーページを設定できます。
このエラーページではデフォルトで「error」propsが渡されて、その中に「statusCode」というHTTPステータスコードを表す値(404や500など)を持っています。
この値を使えば、どのステータスコードなのかによってメッセージを切り替えたりもできます。
<template>
<div class="page is-error">
<h1>{{ error.statusCode }}</h1>
<h2>エラーが発生しました</h2>
</div>
</template>
<script>
export default {
props: {
error: { type: Object, default () { return {} } }
}
}
</script>

Visual Studio Codeで英単語のスペルチェックをしてくれる拡張機能「Code Spell Checker」
Visual Studio CodeでCSVの編集を見やすく行う拡張機能「Edit csv」
Vue CLIでGA4を導入する方法
効率的にHTMLを生成できるPugの特徴や記述方法
WordPressのプラグインはどれを入れたら良い?とりあえず最初に導入をオススメするプラグイン一覧
Apacheのテストページを非表示にする方法
JavaScriptのtest関数と正規表現でバリデーションチェックを行う
Sassのマップ機能を使った変数の管理方法
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
JavaScriptで日付をコピーして計算すると、コピー元の日付も変わってしまう場合の対処法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1PasswordのChrome拡張機能 (パソコンのアプリが必要)のインストール場所が分かりにくい
ブログのテーマを完全オリジナルのものに変更しました
Figmaでチーム共有用のメモや注釈素材が使える「Annotation Kit 2.0」
CSS Nite in Kobe, vol.53「XDで作るワイヤーフレーム・プロトタイプとサイト制作時のコミュニケーション」に参加してきました
Fantastical 2は音声入力を使って予定を追加するのが便利!
Illustratorの選択系のツールを徹底的にまとめる
Vue Routerでページ遷移後にトーストを表示させる方法
XcodeのFileMerge機能を使って2つのファイル差分を確認する
webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
Path Finderでファイルのコピー・移動時に「._」から始まる不可視ファイルを一緒にコピーしないようにする