Aula 03 - Estrutura de Projeto e Sintaxe Básica 📜
Objetivo
Objetivo: Entender a anatomia de um componente Svelte, aprender como organizar seu código unindo lógica, estrutura e estilo em um só lugar, e dominar a exibição de dados dinâmicos.
1. Anatomia de um Componente Svelte 🧬
Diferente de outros frameworks onde você mistura HTML e JavaScript de forma complexa, um arquivo .svelte é extremamente organizado e intuitivo. Ele se divide em três partes principais:
1.1 O Script (<script>)
Onde fica toda a lógica JavaScript do seu componente (variáveis, funções, imports).
1.2 O Markup (HTML)
O corpo do seu componente. É HTML puro, com alguns "superpoderes" do Svelte.
1.3 O Style (<style>)
Onde você coloca o CSS. Importante: Por padrão, o CSS no Svelte é escopado, o que significa que ele só afeta o componente atual.
2. Visualizando a Estrutura (Mermaid) 📊
graph TD
A[Arquivo .svelte] --> B["script (Lógica)"]
A --> C["Markup (Estrutura HTML)"]
A --> D["style (Aparência)"]
subgraph "Exemplo Prático"
B1["let nome = 'Mundo';"]
C1["h1 Olá {nome} /h1"]
D1["h1 { color: orange; }"]
end
B --- B1
C --- C1
D --- D1
3. Interpolação de Variáveis {} ✏️
Para exibir um valor do seu JavaScript no HTML, usamos as chaves {}. Isso é chamado de interpolação.
<script>
let framework = "Svelte";
let versao = 5;
</script>
<h1>Aprendendo {framework} na versão {versao}!</h1>
Conceito
Tudo o que estiver dentro das chaves é tratado como JavaScript puro. Você pode até fazer cálculos: {2 + 2} resultará em 4 na tela.
4. O Cinto de Utilidades: Estrutura do Projeto 📂
Ao abrir seu projeto no VS Code, você verá muitos arquivos. Vamos focar no essencial:
$ ls -F
node_modules/
public/
src/
├── assets/
├── lib/
├── App.svelte
└── main.js
index.html
package.json
vite.config.js
src/App.svelte: É o coração da sua aplicação no início.vite.config.js: Configurações da ferramenta que compila seu código.
5. Atributos Dinâmicos 🔗
Você também pode usar as chaves para definir atributos HTML, como o src de uma imagem ou o href de um link.
<script>
let imagemSrc = "logo.png";
let altText = "Logo do Svelte";
</script>
<img src={imagemSrc} alt={altText} />
6. Mini-Projeto: Perfil de Usuário Dinâmico 🚀
Sua missão agora:
1. No seu projeto, limpe o conteúdo de App.svelte.
2. No <script>, crie variáveis para nome, idade e urlFoto.
3. No markup, crie um card simples que exiba essas informações usando as chaves {}.
4. No <style>, adicione uma cor de fundo ao card.
Dica de Ouro
Se o nome da variável for o mesmo do atributo, você pode usar o atalho: <img {src} /> em vez de <img src={src} />.
7. Exercício de Fixação 📝
- Quais são as três seções principais de um arquivo
.svelte? - O que acontece com o CSS definido dentro de um componente Svelte?
- Como exibimos o resultado da soma de duas variáveis no HTML do Svelte?
Próxima Aula: Vamos aprender sobre o coração do Svelte: a Reatividade! ⚡