Vue CLIのtitleタグやmetaタグの設定方法

Vue CLIでのfaviconの変更方法は過去に記事にしましたが、titleタグについて触れていませんでした。
Vue CLIはデフォルトだとプロジェクト名が全ページ共通でついてしまいます。
今回はtitleタグやmetaタグの設定方法についてまとめておきます。
Vue Routerを使用して各記事に設定する
Vue Routerを使っている場合はroutesに新たにタイトルとディスクリプションの情報を追加します。
const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: { title: 'ページタイトル', desc: 'ディスクリプションを記述' }
}
]あとはこの情報を引っ張ってきて、App.vueでページが変更するたびにセットするように処理を追加します。
export default {
methods : {
setMeta(route){
// タイトルを設定
if(route.meta.title){
let setTitle = route.meta.title;
document.title = setTitle;
}
// ディスクリプションを設定
if(route.meta.desc){
let setDesc = route.meta.desc;
document.querySelector("meta[name='description']").setAttribute('content', setDesc)
}
}
},
mounted(){
let route = this.$route;
this.setMeta(route);
},
watch: {
'$route' (route, from) {
this.setMeta(route);
}
}
}やっていることはsetMetaという先ほど追加したタイトルとディスクリプションを取ってきてセットするメソッドを作り、mountedで初回、watchの'$route' (routeInstance, from)でVue Routerを使って遷移した時に発火させているだけです。
あとはpublic/index.htmlを開いて、下記のmetaタグを追加します。
<meta name="description"><title>タグはデフォルトであるのですが、<meta name="description">のタグはないため、用意しておく必要があるからです。


CSSだけで画像の比率を保ってトリミングできる「object-fit」
Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
Visual Studio Codeでコメントを色分けして管理する「Better Comments」
Nuxt.jsでページを作成・追加する方法|Nuxt.jsの基本
Visual Studio Codeの文字サイズやタブサイズの設定方法
MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?
コーディング時のclass名の省略はどこまでして良いのか?「img / btn / ttl / desc / thumb」
gulp-plumberとgulp-notifyでgulpエラー時にデスクトップで通知がくるようにする
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?