概要
現在作っているVue.jsアプリの見た目を整えるためにVuetifyを使ってみます。
まずはページのヘッダーを作ることを目標にします。
VueCLI3.0から作成したアプリケーションが既に存在するという前提で進めます。
version | |
---|---|
MacOS | Mojave 10.14.2 |
vue | 2.5.17 |
インストール
アプリケーションのルートディレクトリでコマンドを実行。
cd vue-app
vue add vuetify
? Choose a preset: (Use arrow keys)
> Default (recommended)
これだけでいい感じにインストールしてくれます。
注意
既存のアプリにインストールする場合の注意点です。
App.vueの上書き
App.vueがVuetifyのデフォルトページに上書きされてしまいます。
App.vueの変更は取り消しておきましょう。
git checkout src/App.vue
レイアウト崩れ
自分のアプリでは、既存のレイアウトに崩れが生じました。
インストール前
インストール後

調整面倒くさい。最初からVuetify入れとけやって話ですね。
それとも回避可能なんでしょうか?
変更点
App.vueを除くと変更点は以下になると思います。
+ import Vue from 'vue'
+ import Vuetify from 'vuetify/lib'
+ import 'vuetify/src/stylus/app.styl'
+
+ Vue.use(Vuetify, {
+ iconfont: 'md',
+ })
import Vue from 'vue'
+ import './plugins/vuetify'
import App from './App.vue'
import store from './store'
<head>
...
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons">
</head>
あとはpackage.json
とlockファイルが更新されているはずです。
ヘッダーの作成
toolbar
を使います。
<template lang="pug">
v-toolbar
v-toolbar-title.headline
span.font-weight-light ここがタイトル
</template>
レイアウトの調整
表示させてみるとどうでしょう。

なんか画面上部に謎の余白が。
App.vueのデフォルトのスタイルシートが原因でした。
<style>
# app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
- margin-top: 60px;
}
</style>
これで余白が消えて、きれいにヘッダーを表示することができました。
おわりに
今回は導入ということでヘッダーだけ作りましたが、
Vuetifyにはたくさんのコンポーネントが用意されているようなのでいろいろ試してみようと思います。