# AssetInjector

## Überblick

Der `AssetInjector` ist ein Prozessor, der JavaScript- und CSS-Assets aus einem Vite-Manifest automatisch in HTML-Dokumente einfügt.

## Funktionsweise

- Liest das Vite-Manifest (JSON) für JS/CSS-Dateien
- Fügt die entsprechenden `<script>` und `<link>` Tags ins `<head>` oder `<body>` ein
- Unterstützt Vite's Hot Module Replacement (HMR) im Entwicklungsmodus

## Konfiguration

Der AssetInjector benötigt den Pfad zum Vite-Manifest:

```php
$assetInjector = new AssetInjector('/path/to/manifest.json');
```

## Manifest-Format

Das Vite-Manifest hat üblicherweise folgendes Format:

```json
{
  "resources/js/main.js": {
    "file": "assets/main.1234abcd.js",
    "css": ["assets/main.5678efgh.css"]
  },
  "resources/css/styles.css": {
    "file": "assets/styles.5678efgh.css"
  }
}
```

## Implementierung

Der Prozessor sucht nach dem `<head>` oder `<body>` Element und fügt die Asset-Tags ein. Er verarbeitet sowohl JavaScript-Dateien (als `<script>` Tags) als auch CSS-Dateien (als `<link>` Tags).

## JavaScript-Integration

JavaScript-Assets werden als Module geladen:

```html
<script src="/assets/main.1234abcd.js" type="module"></script>
```

## CSS-Integration

CSS-Assets werden über Link-Tags eingebunden:

```html
<link rel="stylesheet" href="/assets/main.5678efgh.css">
```

## Vorteile

- Automatische Versionierung von Assets (Cache-Busting)
- Einfache Integration mit dem Vite-Build-System
- Unterstützung für HMR im Entwicklungsmodus
- Keine manuelle Verwaltung von Asset-URLs notwendig
