サイトアイコン 上尾市のWEBプログラマーによるブログ

「はじめてつくるNuxtサイト」の感想・備忘録

点数

76点

感想

最新のNuxt 3を扱っているのはよいが、かなり薄い内容だった。

それでも最低限の機能を使うだけであれば、参考にはなると思う。

インストール

  1. npm init
  2. npm install nuxi
  3. npx nuxi init xxxx
  4. cd xxxx
  5. npm install npm
  6. run dev nuxiで実行

pagesディレクトリの作成

  1. mkdir pages
  2. touch pages/index.vue
  3. App.jsの<NuxtWelcome />を<NuxtPage />に変更する

Nuxt Contentパッケージ

<template>
  <div>
    <div v-for="article in data">
      {{ article.date }} {{ article.title }}
      <img :src="article.image">
      <NuxtLink :to="article._path">read more</NuxtLink>
      <hr>
    </div>
  </div>
</template>
<script setup>
const {data} = await useAsyncData('testContent', () => {
  return queryContent('/news/').sort({date: -1}).find();
})
</script>

<NuxtLink>タグ

useRoute().path

<template>
  <div>
    <h1>記事ページ</h1>
    <h2>{{ data.date }} {{ data.title }}</h2>
    <img :src="data.image">
    <p>{{ data.content }}</p>
  </div>
</template>
<script setup>
const {data} = await useAsyncData(useRoute().path, () => {
  return queryContent(useRoute().path).findOne();
})
</script>

layoutsの作成

  1. componentsディレクトリを作成し、そこにTheHeader.vueやTheFooter.vueを作成する
  2. layoutsディレクトリを作成し、そこにdefault.vueを作成する。
  3. App.vueを修正する(<NuxtLayout>で囲む)
<template>
  <div>
    <TheHeader />
    <slot />
    <TheFoorter />
  </div>
</template>
<template>
  <NuxtLayout>
    <NuxtPage />
  </NuxtLayout>
</template>

CSSの作成

  1. assets/stylesディレクトリを作成し、その中にcssファイルを格納する
  2. nuxt.config.tsにcssの記述を追加する
    css: [ "~/assets/styles/common.css", "~/assets/styles/hoge.css", ]

<head>タグ内の設定

<script setup>
useHead({
  title: 'Next.jsテストサイト'
});
</script>
モバイルバージョンを終了