Vue.js
Översikt
Vue.js är ett progressivt JavaScript-ramverk för att bygga användargränssnitt. Det är utformat för att kunna införas stegvis och fokuserar på vy-lagret, vilket gör det enkelt att integrera med andra bibliotek eller befintliga projekt.
Kom igång
Skapa repository från mall
Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj Vue.js-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".
Klona ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installera beroenden
npm install
Starta utvecklingsservern
npm run dev
Öppna http://localhost:4200 i din webbläsare.
Bygg och pusha
npm run build
git add .
git commit -m "Initial setup"
git push origin main
Lokal utveckling med Docker
Om du inte har Node.js installerat lokalt kan du använda Docker för att köra Vue-kommandon. Projektet innehåller en Dockerfile för produktionsbyggen med nginx.
Förutsättningar
Installera Docker Desktop för ditt operativsystem (Windows, Mac eller Linux).
Köra kommandon med Docker
# Run npm install
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm install
# Run development server (accessible at localhost:4200)
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:lts-alpine npm run dev
# Build for production
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm run build
Projektstruktur
Förstå var filerna finns:
├── src/
│ ├── assets/ # Statiska tillgångar (bilder, typsnitt)
│ ├── components/ # Vue-komponenter
│ ├── views/ # Sidkomponenter
│ ├── router/ # Vue Router-konfiguration
│ ├── stores/ # Pinia-stores
│ ├── App.vue # Rotkomponent
│ └── main.js # Applikationens ingångspunkt
├── public/ # Publika statiska filer
├── index.html # HTML-ingångspunkt
├── vite.config.js # Vite-konfiguration
├── package.json # Beroenden och skript
└── Dockerfile # Docker-byggkonfiguration
Vanliga uppgifter
Skapa en komponent
Skapa .vue-filer i 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>
Lägga till en rutt
Redigera 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;
Använda Pinia-store
Skapa en store i 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-- }
}
});
Använda Tailwind CSS
Tailwind CSS 4 är förkonfigurerat. Använd klasser direkt i dina mallar:
<div class="bg-blue-500 text-white p-4 rounded-lg">
Hello Tailwind!
</div>
Användbara kommandon
npm run dev
Starta utvecklingsserver (port 4200)
npm run build
Bygg för produktion
npm run preview
Förhandsgranska produktionsbygget lokalt
npm run test:unit
Kör enhetstester med Vitest
npm run lint
Kontrollera och fixa kodstil
npm run format
Formatera kod med Prettier
Felsökning
npm install fails with permission errors
Orsak: Behörighetsproblem med npm-cachen eller node_modules.
Lösning: Ta bort mappen node_modules och package-lock.json och kör sedan npm install igen.
Port 4200 already in use
Orsak: En annan process använder port 4200.
Lösning: Använd en annan port: npm run dev -- --port 3000 eller stoppa den andra processen.
Component not updating
Orsak: Reaktivitet är inte korrekt uppsatt.
Lösning: Använd ref() för primitiver och reactive() för objekt. Kom åt ref-värden med .value i script, men inte i mallen.
Router not working
Orsak: RouterView finns inte i App.vue eller routern är inte registrerad.
Lösning: Säkerställ att <RouterView /> finns i App.vue och att routern läggs till med app.use(router) i main.js.
Build fails after deployment
Orsak: Byggfel eller saknade beroenden.
Lösning: Kör npm run build lokalt först för att kontrollera fel innan du pushar.
Distributionsflöde
Varje gång du pushar kod till Git byggs och distribueras din applikation automatiskt:
Din distribuerade applikations-URL följer detta format:
https://<your-subdomain>-<repo-name>.<session-domain>
Exempel: https://student01-module-a.demo.nstrim.app