svelte

Teljes telepítési útmutató a svelte keretrendszerhez az NStrim platformon

Áttekintés

A Svelte egy modern JavaScript keretrendszer, amely a munkát a böngészőből a fordítási időbe helyezi át, így rendkívül optimalizált vanilla JavaScript-et állít elő. A SvelteKit-tel kombinálva teljes értékű full-stack keretrendszert biztosít gyors, hatékony webalkalmazások építéséhez.

Mielőtt elkezdené
Győződjön meg róla, hogy a műszerfal nyitva van - szüksége lesz az ott megjelenített Git hitelesítő adatokra. Ez a sablon tartalmazza a Tailwind CSS 4-et a stílusozáshoz és Svelte 5-öt runes-szal.

Gyors kezdés

1

Repository létrehozása sablonból

A vezérlőpultodon menj a Tools & Deployment fülre. Kattints a "New Repository" gombra, válaszd ki a Svelte sablont a legördülő menüből, add meg a repository nevét és az aldomaint, majd kattints a "Create Repository" gombra.

2

Repository klónozása

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Függőségek telepítése

npm install
4

Fejlesztői szerver indítása

npm run dev

Nyissa meg a http://localhost:4200 címet a böngészőjében.

5

Építés és feltöltés

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Minden Git push automatikusan telepíti az alkalmazást. Ellenőrizze a Modul Munka URL-t a műszerfalon az éles oldal megtekintéséhez.

Helyi fejlesztés Dockerrel

Ha nincs helyben telepített Node.js, használhatja a Dockert a Svelte parancsok futtatásához. A projekt tartalmaz egy Dockerfile-t a production buildekhez.

Mi az a Docker?
A Docker izolált "konténereket" hoz létre az összes szükséges szoftverrel (Node.js, npm) anélkül, hogy telepítené őket a számítógépére. Gondoljon rá úgy, mint egy könnyűsúlyú virtuális gépre.

Előfeltételek

Telepítse a Docker Desktop-ot az operációs rendszeréhez (Windows, Mac vagy Linux).

Parancsok futtatása Dockerrel

# npm install futtatása
docker run --rm -v $(pwd):/app -w /app node:20-alpine npm install

# Fejlesztői szerver futtatása (elérhető a localhost:4200 címen)
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:20-alpine npm run dev

# Production build készítése
docker run --rm -v $(pwd):/app -w /app node:20-alpine npm run build
Megjegyzés
A Docker opcionális a helyi fejlesztéshez. Az NStrim platform automatikusan kezeli a telepítést - csak akkor van szüksége Dockerre, ha helyben szeretne parancsokat futtatni telepített Node.js nélkül.

Projekt struktúra

A fájlok elhelyezkedésének megértése:

├── src/
│   ├── routes/
│   │   ├── +page.svelte          # Kezdőlap komponens
│   │   └── +layout.svelte        # Gyökér layout (minden oldalt körbevesz)
│   ├── lib/
│   │   ├── index.js              # Megosztott exportok
│   │   └── assets/               # Statikus eszközök (képek, stb.)
│   ├── app.html                  # HTML sablon
│   └── app.css                   # Globális stílusok (Tailwind)
├── static/                       # Nyilvános statikus fájlok
├── svelte.config.js              # SvelteKit konfiguráció
├── vite.config.js                # Vite build konfiguráció
├── package.json                  # Függőségek és scriptek
└── Dockerfile                    # Docker build konfiguráció
        

Gyakori feladatok

Új oldal létrehozása

Hozzon létre egy új mappát a src/routes/ mappában egy +page.svelte fájllal:

# "about" oldal létrehozása a /about útvonalon
mkdir src/routes/about
touch src/routes/about/+page.svelte

A mappa neve automatikusan az URL útvonallá válik.

Komponens létrehozása

Hozzon létre .svelte fájlokat a src/lib/ mappában újrafelhasználható komponensekhez:

<!-- src/lib/Button.svelte -->
<script>
  let { label, onclick } = $props();
</script>

<button class="bg-blue-500 text-white px-4 py-2 rounded" {onclick}>
  {label}
</button>

Komponensek importálása

Használja a $lib aliast a lib mappából történő importáláshoz:

<script>
  import Button from '$lib/Button.svelte';
</script>

<Button label="Click me" onclick={() => alert('Hello!')} />

Tailwind CSS használata

A Tailwind CSS 4 előre konfigurálva van. Használja az osztályokat közvetlenül a komponensekben:

<div class="bg-blue-500 text-white p-4 rounded-lg">
  Hello Tailwind!
</div>

Állapotkezelés Runes-szal (Svelte 5)

A Svelte 5 runes-t használ a reaktivitáshoz:

<script>
  let count = $state(0);
  let doubled = $derived(count * 2);
</script>

<button onclick={() => count++}>
  Count: {count} (doubled: {doubled})
</button>

Hasznos parancsok

npm run dev Fejlesztői szerver indítása (4200-as port)
npm run build Production build készítése
npm run preview Production build helyi előnézete
npm test Unit tesztek futtatása Vitest-tel
npm run format Kód formázása Prettier-rel
npm run lint Kódstílus és hibák ellenőrzése

Hibaelhárítás

npm install jogosultsági hibákkal sikertelen

Ok: Jogosultsági problémák az npm cache-sel vagy a node_modules mappával.

Megoldás: Törölje a node_modules mappát és a package-lock.json fájlt, majd futtassa újra az npm install parancsot.

A 4200-as port már használatban van

Ok: Egy másik folyamat használja a 4200-as portot.

Megoldás: Használjon másik portot: npm run dev -- --port 3000 vagy állítsa le a másik folyamatot.

Modul nem található hibák

Ok: A függőségek nincsenek telepítve vagy sérültek.

Megoldás: Futtassa az npm install parancsot az összes függőség telepítéséhez.

$state vagy $derived nem működik

Ok: Svelte 4 szintaxis használata Svelte 5 projektben.

Megoldás: A Svelte 5 runes-t használ. Cserélje a let count = 0 kifejezést let count = $state(0) kifejezésre a reaktív állapothoz.

A build sikertelen a telepítés után

Ok: Build hibák vagy hiányzó függőségek.

Megoldás: Először futtassa helyben az npm run build parancsot a hibák ellenőrzéséhez a push előtt.

Telepítési munkafolyamat

Minden alkalommal, amikor kódot push-ol a Git-be, az alkalmazás automatikusan lefordul és telepítésre kerül:

Kódváltozás git push npm run build Statikus fájlok telepítése Éles!

A telepített alkalmazás URL-je a következő formátumot követi:

https://<your-subdomain>-<repo-name>.<session-domain>

Példa: https://student01-module-a.demo.nstrim.app

További információkért látogasson el a hivatalos SvelteKit Dokumentációba.