Vue.js
Ülevaade
Vue.js on progressiivne JavaScripti raamistik kasutajaliideste ehitamiseks. See on loodud järk-järgult kasutuselevõtuks ja keskendub vaatekihile, muutes selle hõlpsasti integreeritavaks teiste teekide või olemasolevate projektidega.
Kiirjuhend
Loo repositoorium mallist
Mine oma töölaual vahekaardile Tools & Deployment. Klõpsa nuppu "New Repository", vali rippmenüüst Vue.js mall, sisesta repositooriumi nimi ja alamdomeen ning klõpsa "Create Repository".
Klooni oma repositoorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Paigalda sõltuvused
npm install
Käivita arendusserver
npm run dev
Ava brauseris http://localhost:4200.
Ehita ja saada üles
npm run build
git add .
git commit -m "Initial setup"
git push origin main
Kohalik arendus Dockeriga
Kui sul ei ole Node.js-i kohalikult paigaldatud, saad Vue käskude käivitamiseks kasutada Dockerit. Projekt sisaldab tootmise ehitamiseks Dockerfile'i koos nginxiga.
Eeldused
Paigalda Docker Desktop oma operatsioonisüsteemi jaoks (Windows, Mac või Linux).
Käskude käivitamine Dockeriga
# Käivita npm install
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm install
# Käivita arendusserver (kättesaadav aadressil localhost:4200)
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:lts-alpine npm run dev
# Ehita tootmise jaoks
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm run build
Projekti struktuur
Failide asukohtade mõistmine:
├── src/
│ ├── assets/ # Staatilised ressursid (pildid, fondid)
│ ├── components/ # Vue komponendid
│ ├── views/ # Lehekomponendid
│ ├── router/ # Vue Routeri seadistus
│ ├── stores/ # Pinia salvestid
│ ├── App.vue # Juurkomponent
│ └── main.js # Rakenduse sisendpunkt
├── public/ # Avalikud staatilised failid
├── index.html # HTML sisendpunkt
├── vite.config.js # Vite seadistus
├── package.json # Sõltuvused ja skriptid
└── Dockerfile # Dockeri ehitamise seadistus
Levinud ülesanded
Komponendi loomine
Loo .vue failid kataloogis src/components/:
<!-- src/components/Button.vue -->
<script setup>
defineProps({
label: String
});
const emit = defineEmits(['click']);
</script>
<template>
<button
class="bg-blue-500 text-white px-4 py-2 rounded"
@click="emit('click')"
>
{{ label }}
</button>
</template>
Marsruudi lisamine
Muuda src/router/index.js:
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About }
]
});
export default router;
Pinia salvesti kasutamine
Loo salvesti kataloogis src/stores/:
// src/stores/counter.js
import { defineStore } from 'pinia';
export const useCounterStore = defineStore('counter', {
state: () => ({ count: 0 }),
actions: {
increment() { this.count++ },
decrement() { this.count-- }
}
});
Tailwind CSS-i kasutamine
Tailwind CSS 4 on eelseadistatud. Kasuta klasse otse oma mallides:
<div class="bg-blue-500 text-white p-4 rounded-lg">
Hello Tailwind!
</div>
Kasulikud käsud
npm run dev
Käivita arendusserver (port 4200)
npm run build
Ehita tootmise jaoks
npm run preview
Eelvaata tootmise buildi kohalikult
npm run test:unit
Käivita ühiktestid Vitestiga
npm run lint
Kontrolli ja paranda koodistiili
npm run format
Vormista kood Prettieriga
Tõrkeotsing
npm install ebaõnnestub õigustevigadega
Põhjus: Õiguste probleemid npm-i vahemälu või node_modulesiga.
Lahendus: Kustuta node_modules kaust ja package-lock.json, seejärel käivita npm install uuesti.
Port 4200 on juba kasutusel
Põhjus: Mõni teine protsess kasutab porti 4200.
Lahendus: Kasuta teist porti: npm run dev -- --port 3000 või peata teine protsess.
Komponent ei uuene
Põhjus: Reaktiivsus pole õigesti seadistatud.
Lahendus: Kasuta primitiivide jaoks ref() ja objektide jaoks reactive(). Pääse ref-väärtustele ligi skriptis .value kaudu, kuid mitte mallis.
Router ei tööta
Põhjus: RouterView puudub App.vue-st või router pole registreeritud.
Lahendus: Veendu, et <RouterView /> on App.vue-s ja router on lisatud käsuga app.use(router) failis main.js.
Ehitamine ebaõnnestub pärast juurutamist
Põhjus: Ehitamise vead või puuduvad sõltuvused.
Lahendus: Käivita enne push'i kohalikult npm run build, et vigu kontrollida.
Juurutamise töövoog
Iga kord, kui saadad koodi Giti, ehitatakse ja juurutatakse sinu rakendus automaatselt:
Sinu juurutatud rakenduse URL järgib seda formaati:
https://<your-subdomain>-<repo-name>.<session-domain>
Näide: https://student01-module-a.demo.nstrim.app