Skip to content

Runtime-Konfiguration

Diese Seite dokumentiert die Runtime-Struktur aus nuxt.config.ts und die Start-Plugins der Anwendung.

Nuxt-Setup

  • Framework: Nuxt 4
  • Rendering-Modus: SPA mit ssr: false
  • Komponenten werden aus ~/components mit pathPrefix: false auto-importiert
  • Auto-Import-Verzeichnisse sind db, types und schemas
  • für App-Code gilt trotzdem: direkt importierbare Symbole sollen explizit importiert werden; vorhandene Auto-Imports werden beim Anfassen der Datei nachgezogen
  • TypeScript-Strict-Mode ist aktiviert
  • Standard-Locale ist de

Registrierte Module

  • @nuxt/ui
  • @nuxt/test-utils
  • @vueuse/nuxt
  • @pinia/nuxt
  • @nuxt/devtools
  • motion-v/nuxt
  • @nuxtjs/i18n
  • @nuxt/test-utils/module
  • @vite-pwa/nuxt

Öffentliche Runtime-Konfiguration

Die folgenden Schlüssel sind in runtimeConfig.public definiert.

  • buildDate: Build-Zeitstempel für den Footer
  • mode: öffentlicher Modus-Flag, aktuell auf external
  • devServer: Backend-Ursprung für nuxtApp.$ivmFetch
  • syncChangeDetectionMode: Modus für die Erkennung von Server-Änderungen
  • autoSaveOnCustomerView: aktiviert automatisches Speichern vor dem Wechsel in die Kundenansicht
  • allowUnsavedCustomerView: erlaubt die Kundenansicht trotz ungespeicherter Änderungen
  • continueSaveOnError: setzt Speichervorgänge fort, wenn ein einzelner Speicherpfad fehlschlägt
  • demoModus: aktiviert Demo-Pfade bei der Erstellung
  • aiImageRecognition: aktiviert KI-Features für Bilderkennung
  • aiTextAssistant: aktiviert KI-Features für Textunterstützung
  • finalizeUploadRetryLimit: maximale Anzahl automatischer Retries beim Finalisierungs-Upload

Runtime-Plugins

app/plugins/00.ivm.ts

  • erstellt nuxtApp.$ivmFetch
  • verwendet runtimeConfig.public.devServer als Basis-URL
  • sendet Requests mit Credentials
  • öffnet bei 401 ein zentriertes Login-Popup gegen /login
  • speichert das empfangene auth_token-Cookie
  • wiederholt den fehlgeschlagenen Request nach erfolgreichem Login
  • löst app:login aus und aktualisiert Nuxt-Async-Data nach erfolgreichem Login

app/plugins/01.appInit.client.ts

  • läuft beim Client-Start
  • ruft useSetupStore().loadFromServer() auf, damit Setup- und Konfigurationsdaten früh verfügbar sind

app/plugins/03.dexieSync.client.ts

  • registriert ein Pinia-Plugin
  • erkennt Entity-Stores anhand von Store-ID und Entity-Registry
  • injiziert Dexie-Persistenz, Dirty-Tracking und Server-Sync-Helfer
  • verbindet den Store-Lebenszyklus mit Reload- und Speicherverhalten in IndexedDB

app/plugins/04.pendingImageUploadSync.client.ts

  • verarbeitet ausstehende Bild-Uploads und Löschungen beim App-Start
  • startet denselben Nachlauf erneut, wenn der Browser wieder online geht

PWA-Konfiguration

  • PWA-Registrierungstyp ist autoUpdate
  • das Manifest ist für Standalone-Nutzung im Hochformat konfiguriert
  • Workbox verwendet / als Navigate-Fallback
  • der PWA-Dev-Modus ist in devOptions deaktiviert