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">のタグはないため、用意しておく必要があるからです。


SVGを操作するためのCSSプロパティまとめ
Visual Studio CodeでToDoコメントを一覧で表示する拡張機能「Todo Tree」
スクロールしてもテーブルヘッダーが追尾するテーブルの作り方
WordPressで「予約投稿の失敗」となってしまう場合の対処方法
Visual Studio Codeの基本|概要やインストールから日本語化など最低限の設定方法
コーディングで「スペース」と「タブ」のどちらを使えばいいのか?
サーバーのアップロードファイルの最大容量の確認と変更方法
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
HTTP/2が設定されているはずなのに、ブラウザ上でHTTP/1.1になってしまう場合はセキュリティソフトを確認
Webサイト制作の基礎の基礎、HTMLって何?
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Font Awesome 5の基本的な使い方と、Font Awesome 4との違い
Vue CLIをインストールしたのに「command not found: vue」と表示されてしまう場合の対処法
Workspacesの検索ウインドウで使えるコマンド一覧
ウェブ開発時のテスト環境と本番環境の取り違えを防ぐChrome拡張機能「Environment Marker」
さくらのレンタルサーバで.htaccessが原因で500エラーになってしまう場合のチェックリスト
chezmoi(シェモア)で始めるdotfiles管理
ショートカットキーの一覧をSketchを使って作成する方法とそのメリット
FigmaのAuto Layout入門|繰り返しのレイアウトやコンテンツに応じて横幅可変するボタンをラクに作る
Path Finder 10がリリース!Big Surに完全対応したり、AirDropが使えるように!
Google HomeやAlexaで環境音を再生する方法