Nuxt.js初心者がindex.vueをいじってなんとなくの雰囲気をつかむ

シェアする:

この記事をおすすめしたい人

  • Node.jsも知らんのにNuxt.jsを始めようとしてる人
  • インストールまではいけたけど、そこから何をしたらいいのか分からなくなった人
  • つまりオレ

何も知らない超初心者が脱WordPressしたくてNuxt.jsでサイト構築していくシリーズです。

開発環境構築編が一段落したので、そろそろページいじりを始めたいと思います。 環境構築の方もまだまだ分かっていないことがたくさんあるので、まだもうちょっとやる予定です。

詰まってばかりだと楽しくないですからね。 実際に動いているのを見てテンションを上げていきますよー!

WordPressの上でな!

※ このブログはWordPress製です

ページのデータはどこにあるのか

前回、デモ画面の起動まではいけました。

動かすまでが大変でしたが、ここから先は日本語マニュアルや解説サイトも充実してて分かりやすいです。

各ページのデータはインストールフォルダ内の「pages」の中にあります。

フォルダの中身はこんな↓感じ。

まだトップページしかないのでこれで正解です。 「index.vue」の中にトップページのデータがあります。

一応READMEを読んでみると…
(英語です)

「ルート」「ルーター」といった聞き慣れない言葉が出てきます。 調べた感じ、ページとURLを結びつける処理?みたいな感じのようで…。 そんな感じで意訳すると、

「このフォルダの中にvueファイル作れば、自動でページとそのURLを生成するよ!」

みたいな感じ?

これについては後日実験します。

index.vueの中身

さっそくindex.vueの中を見てみると、大きく3パートに分かれていました。


<template>
//このページで使用するHTML
  <div class="container">
(以下略)
</template>

<script>
//このページで使用するスクリプト?
export default {}
</script>

<style>
//このページで使用するスタイルシート
.container {
  margin: 0 auto;
(以下略)
</style>

拡張子がvueなので、Nuxt.jsというよりはベースになっているVue.jsの書き方なんですかね。

templateタグの中身

改行多くて構造を理解しづらかったのでいろいろ簡略化したものがこれ↓。


<template>
  <div class="container">
    <div>
      <Logo />
      <h1 class="title">nuxt-test</h1>
      <div class="links">
        <a (略)>Documentation</a>
        <a (略)>GitHub</a>
      </div>
    </div>
  </div>
</template>

まず気になるのが「template」という見慣れないタグ。

これは先ほどの3パーツのひとつなので、おそらく「Vueファイル内のHTML記述部分ですよー」という意味なのでしょう。

あとはだいたいただのHTML。

表示されているページがこんな↓状態なので…

ロゴ、H1タイトル、リンク2つで、コードと一致しています。

ん…ロゴ…?

よく見たら「Logo」という見たことのないタグがあります。

これは次回あたりで詳しく触れますが、WordPressで言うところのショートコードみたいなもののようです。

ある程度まとまった記述を1行で置き換える仕組み。

Nuxt.jsでは【コンポーネント】というそうです。

便利そうですね。

scriptタグの中身

サンプルファイルでは空ですね。


<script>
export default {}
</script>

僕はJavaScriptすら全く分かっていないポンコツなので、これがどういう記述なのか現段階では分かっていません。

稼働中のプロジェクトではここでページタイトルやdescriptionを書き換えたりできたので、「このページへの設定を追加・変更する部分」ととりあえず理解しました。

複雑な処理もできるようなので、今後の一番の課題です。

styleタグの中身

一応全部貼ります。


<style>
.container {
  margin: 0 auto;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.title {
  font-family:
    'Quicksand',
    'Source Sans Pro',
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    'Helvetica Neue',
    Arial,
    sans-serif;
  display: block;
  font-weight: 300;
  font-size: 100px;
  color: #35495e;
  letter-spacing: 1px;
}

.subtitle {
  font-weight: 300;
  font-size: 42px;
  color: #526488;
  word-spacing: 5px;
  padding-bottom: 15px;
}

.links {
  padding-top: 15px;
}
</style>

ただのスタイルシートですね。

出力されたHTMLを見てみると、CSSファイル参照ではなく、head内styleタグで直接出力されていました。

今の設定?では改行削除などはされず、このままべたっと貼り付けられています。

とりあえず書き換えてみる

HTML部分をちょろっと書き換えてみました。

ほとんどただのHTMLなので、特別なことはなく書き換えできます。

ちょっと面白かったのが、index.vueを書き換えて保存すると、自動でコマンド画面で処理が始まりました。

さらに面白いのがブラウザ側も更新(F5)ボタン押さずに最新の状態が反映されます。

これは開発しやすそうですねー。

とりあえずHTML部分の編集は大丈夫そうでした。

もう少しtemplateタグの理解を深めて、scriptタグを触れるようになっていこうと思います。

以上、WordPressからお届けしました!

Nuxt.js ページ作成編の目次

シェアする: