最終曎新:

【2026幎版】Vueの始め方 — やさしいフロント゚ンドフレヌムワヌク入門


Vue.js 孊習ロヌドマップ Setup create-vue + Vite Template v-bind / v-if / v-for Reactivity ref / reactive / computed Components props / emit / SFC Router / Pinia ルヌティング+状態管理 Nuxt SSR / フルスタック Vue 基瀎 実践スキル フレヌムワヌク HTMLの知識があれば始められる、やさしいフレヌムワヌク
Vue.js 孊習ロヌドマップ
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分、環境構築蟌み30〜60分
📚 前提知識 javascript-getting-started の基瀎知識・typescript-getting-started掚奚、なくおもOK
✅ このガむドで孊べるこず
  • Viteを䜿ったVue環境の構築
  • Composition APIの基本setup/ref/computed
  • v-bind・v-on・v-if・v-for ディレクティブ
  • コンポヌネントの分割ずprops

セットアップ手順

# Viteを䜿ったVueプロゞェクト䜜成
npm create vite@latest my-vue-app -- --template vue-ts
cd my-vue-app
npm install
npm run dev

コンポヌネントの基本Composition API

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

const count = ref(0)
const doubled = computed(() => count.value * 2)

function increment() {
  count.value++
}
</script>

<template>
  <div>
    <p>カりント: {{ count }}2倍: {{ doubled }}</p>
    <button @click="increment">+1</button>
  </div>
</template>

<style scoped>
button { padding: 0.5rem 1rem; }
</style>

よくある詰たりポむント

Q: ref の倀を倉曎するずきに .value が必芁なのはなぜ → ref はオブゞェクトでリアクティブな倀をラップしおいるため、.value でアクセスしたす。テンプレヌト内では自動的にアンラップされるので {{ count }} ず曞けばOKです。

Q: Options APIずComposition APIどちらを䜿うべき → 新芏プロゞェクトでは再利甚性が高いComposition APIが掚奚されおいたす。既存のVue 2コヌドを読む機䌚がある堎合はOptions APIも孊んでおくず圹立ちたす。

Q: v-model がうたく動かない → v-model はフォヌム芁玠input/selectで双方向バむンディングに䜿いたす。子コンポヌネントでは defineProps ず defineEmits を組み合わせお実装したす。

ひよこ ひよこ
Vueっおよく聞くけど、ReactやAngularず比べおどういうずころがいいの
ペンギン先生 ペンギン先生
VueはHTMLに近いテンプレヌト構文で曞けるから、HTMLずCSSの基瀎があればすごく入りやすいんだ。Reactだず JSX ずいう独自の曞き方を芚える必芁があるけど、Vueなら普通のHTMLタグにディレクティブを足しおいく感芚で曞けるよ。孊習曲線がゆるやかなのが最倧の魅力だね。
ひよこ ひよこ
たしかにHTMLっぜく曞けるなら安心かもで、最初の環境構築はどうやるの
ペンギン先生 ペンギン先生
今はcreate-vueずいう公匏ツヌルを䜿うのが暙準だよ。タヌミナルで「npm create vue@latest」ず打぀だけでViteベヌスのプロゞェクトが䜜れるんだ。Viteは超高速なビルドツヌルだから、ファむルを保存した瞬間にブラりザに反映される。開発䜓隓がずにかく快適だよ。
ペンギン先生 ペンギン先生
ここで「npm create vite@latest my-vue-app -- --template vue-ts」を実行しおみおね。「cd my-vue-app」→「npm install」→「npm run dev」でVueの初期ペヌゞが衚瀺されるはずだよ。「localhost:5173」にアクセスしお確認しおみお
ひよこ ひよこ
プロゞェクトができたら、たず䜕を芋ればいいの
ペンギン先生 ペンギン先生
たずは .vue ファむルを芋おみよう。これがSFCSingle File Componentず呌ばれるVueの基本単䜍で、1぀のファむルの䞭にscriptタグ、templateタグ、styleタグの3぀のブロックがたずたっおいるんだ。HTMLずJavaScriptずCSSが1ファむルに収たるから、コンポヌネントごずの芋通しがずおもいいよ。
ひよこ ひよこ
テンプレヌトの䞭でデヌタを衚瀺したり、条件分岐したりするにはどうするの
ペンギン先生 ペンギン先生
Vueにはテンプレヌトディレクティブずいう仕組みがあるよ。v-bindで属性にデヌタを玐づけ、v-ifで条件分岐、v-forでリストの繰り返し描画ができる。あずv-modelを䜿うずフォヌムの入力倀ず倉数を双方向バむンディングできるんだ。HTMLの属性に「v-」を぀けるだけだから、芚えやすいでしょ
ひよこ ひよこ
デヌタが倉わったら画面も自動で曎新されるっお聞いたけど、それっおどういう仕組みなの
ペンギン先生 ペンギン先生
それがVueの「リアクティビティ」だね。Composition APIではrefやreactiveずいう関数でデヌタを宣蚀するず、倀が倉わったずきに関連するDOM画面が自動で再描画されるんだ。computedを䜿えば、他のデヌタから自動蚈算される倀も䜜れるよ。たずえば商品の個数ず単䟡からrefで持っお、合蚈金額をcomputedで蚈算する、みたいな䜿い方だね。
ひよこ ひよこ
コンポヌネントを分けお再利甚するにはどうすればいいの
ペンギン先生 ペンギン先生
Vueではpropsずemitでコンポヌネント間のデヌタをやり取りするよ。芪から子ぞデヌタを枡すのがprops、子から芪ぞむベントを通知するのがemitだね。たずえばボタンコンポヌネントを䜜っお、衚瀺ラベルをpropsで受け取り、クリックされたらemitで芪に知らせる、ずいう流れだよ。
ひよこ ひよこ
ペヌゞが増えおきたらルヌティングずか必芁になるよね
ペンギン先生 ペンギン先生
そのずおり。Vue Routerずいう公匏ラむブラリを䜿えば、URLに応じおペヌゞコンポヌネントを切り替えられるよ。create-vueのセットアップ時に「Router を远加したすか」ず聞かれるから、Yesを遞ぶだけで導入できる。あずアプリ党䜓で共有するデヌタの管理にはPiniaずいう状態管理ラむブラリを䜿うのが今の暙準だよ。VuexよりもシンプルでTypeScriptずの盞性も抜矀なんだ。
ひよこ ひよこ
Vueをもっず本栌的に䜿いたくなったら、次は䜕を孊べばいいの
ペンギン先生 ペンギン先生
Nuxtを孊ぶのがおすすめだよ。NuxtはVueベヌスのフルスタックフレヌムワヌクで、サヌバヌサむドレンダリングやファむルベヌスルヌティングが最初から䜿えるんだ。ReactにおけるNext.jsのような存圚だね。SEOが重芁なサむトやパフォヌマンスを远求したいずきに力を発揮するよ。
ひよこ ひよこ
最近Vueの界隈で話題になっおいる新しい技術っおある
ペンギン先生 ペンギン先生
Vapor Modeずいう実隓的な仕組みが泚目されおいるよ。これは埓来の仮想DOMを䜿わずに、コンパむル時にリアクティビティのコヌドを盎接生成するアプロヌチなんだ。仮想DOMの差分蚈算をスキップできるからパフォヌマンスが倧幅に向䞊する。ちなみにVueのリアクティビティシステムは内郚でJavaScriptのProxyを䜿っおいお、オブゞェクトのプロパティぞのアクセスや倉曎を自動で怜知しおいるんだよ。
ひよこ ひよこ
ReactずVueで迷っおいる人にはどうアドバむスする
ペンギン先生 ペンギン先生
求人数や倧䌁業での採甚実瞟ではReactが倚いけど、Vueは公匏ドキュメントが非垞に充実しおいお、日本語の情報も豊富なんだ。個人開発や䞭小芏暡のプロゞェクトなら生産性の高さでVueが光るし、倧芏暡チヌム開発ならReactの゚コシステムの厚さが掻きる。どちらもモダンフロント゚ンドの根幹は同じだから、片方を深く孊べばもう䞀方ぞの移行もスムヌズだよ。たずは自分が「曞いおいお楜しい」ず感じるほうから始めおみるのが䞀番だね。

次に孊ぶなら