メインコンテンツまでスキップ

Vue / Nuxt

Vueは、分かりやすい構文でWeb画面を作るためのフレームワークです。Nuxtは、Vueを使って本格的なWebアプリやサイトを作るためのフレームワークです。

何ができる?

  • コンポーネントで画面を作る
  • 入力フォームや一覧画面を作る
  • ページ遷移のあるWebアプリを作る
  • ブログや管理画面を作る
  • サーバー側で準備したページを表示する

VueとNuxtの違い

技術役割
VueUIを作る
Nuxtルーティングやサーバー処理も含めたアプリを作る

Vueは画面部品を作る道具、Nuxtはアプリ全体を作る土台です。

学習前に知っておきたいこと

  • HTMLの基本
  • CSSの基本
  • JavaScriptの基本
  • コンポーネントの考え方

Vueの基本形

<script setup lang="ts">
const message = 'こんにちは、Vue';
</script>

<template>
<p>{{ message }}</p>
</template>

Vueでは、HTMLに近い template と、処理を書く script を組み合わせます。

よく使う構文

構文役割
{{ message }}値を表示する
v-if条件で表示を切り替える
v-forリストを繰り返し表示する
v-model入力フォームと値をつなぐ
@clickクリックイベントを扱う

ミニ演習: カウントボタン

<script setup lang="ts">
import {ref} from 'vue';

const count = ref(0);
</script>

<template>
<p>{{ count }}</p>
<button @click="count++">+1</button>
</template>

ref は、画面と連動する値を作るために使います。

Nuxtで作れるもの

  • ブログ
  • 企業サイト
  • 管理画面
  • ログイン付きアプリ
  • APIと連携するWebアプリ

関連技術

技術役割
TypeScript型安全に書く
Pinia状態管理
Vue Routerルーティング
Nuxt ContentMarkdownコンテンツ管理
Vite高速な開発環境

React系との違い

観点Vue / NuxtReact / Next.js
書き方HTMLに近く読みやすいJavaScript/TypeScript寄り
学習感初心者に優しめ自由度が高い
エコシステムVue/Nuxt中心React周辺が非常に広い

どちらが上というより、チームや作りたいものに合わせて選びます。

よくあるつまずき

困ったこと原因の例確認すること
値が更新されないref を使っていないリアクティブな値
ループ表示が変key がないv-forkey
入力と値がつながらないv-model 不足inputの指定
Nuxtでページが出ないファイル配置違いpages/app構成

チェックリスト

  • templatescript の役割を説明できる
  • v-ifv-for を使える
  • ref の役割を説明できる
  • VueとNuxtの違いを説明できる
  • React系との違いをざっくり説明できる

次に学ぶこと

Vueの基本が分かったら、Nuxtでページ遷移、データ取得、フォーム、Markdown管理、API連携へ進みましょう。