Obsah

SFC (Single-File Component)

Tradiční webový vývoj odděluje HTML, CSS a JS do různých souborů. SFC tento přístup mění a seskupuje vše, co spolu logicky souvisí, na jedno místo. To zlepšuje přehlednost a usnadňuje údržbu rozsáhlých aplikací.

1. Struktura .vue souboru

SFC se skládá ze tří hlavních bloků:

2. Klíčové výhody SFC

3. Jak to funguje pod kapotou?

Prohlížeč souboru .vue nerozumí. Proto je potřeba nástroj (např. Vite nebo Webpack), který:

1. Rozebere SFC soubor na jeho části.
2. Zkompiluje HTML šablonu do efektivních renderovacích funkcí.
3. Zpracuje CSS (např. přidá unikátní ID pro scoped styly).
4. Vše spojí do jednoho JavaScriptového balíčku.

4. Srovnání přístupů

Metoda Organizace Rozsah stylů
Tradiční (HTML/CSS/JS) Oddělené soubory Globální (riziko kolizí)
React (JSX) Vše v JS (CSS často externě) Často vyžaduje knihovny (CSS-in-JS)
Vue SFC Bloky v jednom souboru Vestavěný „Scoped“ mechanismus

5. Ukázka SFC v praxi

<template>
  <div class="karta">
    <h1>{{ nadpis }}</h1>
    <button @click="upozorni">Klikni</button>
  </div>
</template>

<script setup>
  const nadpis = "Vítejte v IT encyklopedii"
  const upozorni = () => alert("Ahoj!")
</script>

<style scoped>
  .karta { border: 1px solid silver; padding: 20px; }
  h1 { color: #42b983; }
</style>
Zajímavost: Ačkoliv jsou SFC spojovány hlavně s Vue, velmi podobný koncept využívá i framework Svelte, který jde ještě dál – v souboru .svelte píšete kód, který se téměř neliší od standardního HTML, ale výsledkem je extrémně rychlá aplikace bez nutnosti virtuálního DOMu.

Zpět na Vue.js