Codegenerierung mit build_runner
Generieren Sie Boilerplate aus Annotationen
Codegenerierung mit build_runner ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Dart Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Code generieren
Mancher Code besteht aus wiederholtem Boilerplate, etwa beim Parsen von JSON. Die Codegenerierung schreibt ihn anhand von Annotationen für Sie, sodass Sie präzise und schnell bleiben. ⚙️
build_runner kennenlernen
build_runner ist das Dart-Tool, das Codegeneratoren für Ihr Projekt ausführt. Es liest Quelldateien, findet Annotationen und erzeugt neue Dateien.
Eine Entwicklungsabhängigkeit
Sie fügen build_runner unter dev_dependencies in pubspec.yaml hinzu, da es zur Build-Zeit ausgeführt und niemals mit Ihrer App ausgeliefert wird.
dev_dependencies:
build_runner: ^2.4.0Die generierte Part-Datei
Generatoren schreiben in eine gleichnamige Datei. Sie binden sie mit einer part-Direktive ein, deren Name konventionell auf .g.dart endet.
part 'user.g.dart';Den Build ausführen
Starten Sie die einmalige Generierung mit dem Befehl build. Er durchsucht Ihren Code und erstellt oder aktualisiert jede .g.dart-Datei.
dart run build_runner buildWatch-Modus
Während der Entwicklung generiert der watch-Modus bei jedem Speichern automatisch neu. So bleiben generierte Dateien ohne manuelle Neustarts synchron.
dart run build_runner watchVeraltete Konflikte beheben
Wenn Ausgaben mit alten Dateien kollidieren, fügen Sie --delete-conflicting-outputs hinzu. Dadurch werden veraltete generierte Dateien gelöscht, sodass der neue Build erfolgreich durchgeführt werden kann.
dart run build_runner build --delete-conflicting-outputsAnnotationen steuern den Ablauf
Generatoren verarbeiten nur Deklarationen, die Sie annotate. Die Annotation teilt dem Builder mit, welche Klasse verarbeitet und welcher Code erzeugt werden soll.
Generierte Dateien nicht bearbeiten
Behandeln Sie jede .g.dart-Datei als read-only. Beim nächsten Build werden Ihre Änderungen überschrieben. Bearbeiten Sie stattdessen die Quelle und die Annotationen.
Committen oder ignorieren
Teams entscheiden sich entweder dafür, generierte Dateien zu committen, oder sie zu .gitignore hinzuzufügen und in der CI neu zu erzeugen. Wichtig ist, sich für eine Richtlinie zu entscheiden und sie konsequent einzuhalten.
Ein größeres Ökosystem
Viele Packages lassen sich in build_runner integrieren, etwa json_serializable und freezed. Sie nutzen dieselbe builder-Pipeline, sodass ein einziger Befehl sie alle ausführt.
Kurzer Check
Welcher Befehl generiert den Code bei jedem Speichern einer Datei neu?
Zusammenfassung
build_runner wandelt Annotationen in generierte .g.dart-Dateien um. Fügen Sie es zu dev_dependencies hinzu, führen Sie build oder watch aus und bearbeiten Sie die Ausgabe niemals. 🎉
Häufig gestellte Fragen
Ist die Lektion „Codegenerierung mit build_runner“ kostenlos?
Ja — der vollständige Text von „Codegenerierung mit build_runner“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Dart Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Codegenerierung mit build_runner“?
Generieren Sie Boilerplate aus Annotationen Du übst Dart Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Dart Academy zu starten?
Keine Vorkenntnisse erforderlich. Dart Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Codegenerierung mit build_runner“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Dart Academy-Lektion Code schreiben und ausführen?
Ja. Jede Dart Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Integrierte Annotationen: override, deprecated
- Eigene Annotationen schreiben
- Codegenerierung mit build_runner
- json_serializable in der Praxis