Getting started
Estrutura do projeto
Editar esta página na GitHubUm projeto de SvelteKit normal parece-se com isto:
my-project/
├ src/
│ ├ lib/
│ │ ├ server/
│ │ │ └ [your server-only lib files]
│ │ └ [your lib files]
│ ├ params/
│ │ └ [your param matchers]
│ ├ routes/
│ │ └ [your routes]
│ ├ app.html
│ ├ error.html
│ ├ hooks.client.js
│ └ hooks.server.js
├ static/
│ └ [your static assets]
├ tests/
│ └ [your tests]
├ package.json
├ svelte.config.js
├ tsconfig.json
└ vite.config.js
Também encontrarás ficheiros comuns como .gitignore
e .npmrc
(e .prettierrc
e .eslintrc.cjs
) e assim por diante, se escolheste aquelas opções quando executares npm create svelte@latest
).
Ficheiros do projetopermalink
srcpermalink
O diretório src
contém a carne do teu projeto. Tudo exceto src/routes
e src/app.html
é opcional.
lib
contém o código da tua biblioteca (utilitários e componentes), que podem ser importados através do pseudónimo$lib
, ou empacotado para distribuição usandosvelte-package
.server
contém apenas o código da tua biblioteca do servidor. Ele pode ser importado usando o pseudónimo$lib/server
. A SvelteKit impedir-te-á de importar estes no código do cliente.
params
contém quaisquer correspondentes de parâmetro que a tua aplicação precisaroutes
contém as rotas da tua aplicação. Tu podes também colocar neste, outros componentes que apenas são usados dentro numa única rota.app.html
é o modelo de marcação de hipertexto da tua página — um documento de HTML contendo os seguintes espaços reservados:%sveltekit.head%
— os elementos<link>
e<script>
necessários pela aplicação, mais qualquer conteúdo de<svelte:head>
.%sveltekit.body%
— a marcação para uma página interpretada. Isto deve morar dentro dum<div>
ou outro elemento, ao invés de diretamente dentro de<body>
, para evitar erros de programação causados pelas extensões de navegador injetando elementos que são depois destruídos pelo processo de hidratação. A SvelteKit avisar-te-á no desenvolvimento se este não for o caso.%sveltekit.assets%
— oupaths.assets
, se especificado, ou um caminho relativo parapaths.base
%sveltekit.nonce%
— um CSP usado para ligações e programas incluídos manualmente, se usados.%sveltekit.env.[NAME]%
- isto será substituído no momento da interpretação com a variável de ambiente[NAME]
, que deve começar com apublicPrefix
(normalmentePUBLIC_
). Isto retornará para''
se não for correspondido.
error.html
é a página que é desenhada quando todo o resto falhar. Ela pode conter os seguintes espaços reservados:%sveltekit.status%
— o estado do HTTP%sveltekit.error.message%
— a mensagem do erro
hooks.client.js
contém os teus gatilhos de clientehooks.server.js
contém os teus gatilhos de servidorservice-worker.js
contém o teu operário de serviço
(Se o projeto contém ficheiros .js
ou .ts
depende se optares usar TypeScript quando crias o teu projeto. Tu podes alternar entre JavaScript e TypeScript na documentação usando o alternador no fundo desta página.)
Se adicionaste a Vitest quando configuraste o teu projeto, os teus testes unitários morarão no diretório src
com uma extensão .test.js
.
staticpermalink
Quaisquer recursos estáticos que deveriam ser servidos como estão, como robots.txt
ou favicon.png
.
testspermalink
Se adicionaste Playwright para testes de navegador quando configuraste o teu projeto, os testes morarão neste diretório.
package.jsonpermalink
O teu ficheiro package.json
deve incluir @sveltejs/kit
, svelte
e vite
como devDependencies
.
Quando crias um projeto com npm create svelte@latest
, também notarás que package.json
inclui "type": "module"
. Isto significa que os ficheiros .js
são interpretados como módulos de JavaScript nativos com as palavras-chaves import
e export
. Os ficheiros de CommonJS legados precisam de um extensão .cjs
.
svelte.config.jspermalink
Este ficheiro contém a tua configuração da Svelte e SvelteKit.
tsconfig.jsonpermalink
Este ficheiro (ou jsconfig.json
, se preferes ficheiros .js
de tipos verificados sobre os ficheiros .ts
) configura a TypeScript, se adicionaste a verificação de tipo durante npm create svelte@latest
. Já que a SvelteKit depende que certa configuração seja definida de uma maneira específica, gera o seu próprio ficheiro .svelte-kit/tsconfig.json
que a tua própria configuração extends
.
vite.config.jspermalink
Um projeto de SvelteKit é realmente apenas um projeto de Vite que usa a extensão @sveltejs/kit/vite
, juntamente com qualquer outra configuração de Vite.
Outros ficheirospermalink
.svelte-kitpermalink
Conforme programares e construires o teu projeto, a SvelteKit gerará ficheiros num diretório .svelte-kit
(configurável como outDir
). Tu podes ignorar o seu conteúdo, e eliminá-los a qualquer momento (serão gerados novamente quando executares o próximo comando dev
ou build
).