0Pricing
Dart Academy · Lektion

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.0

Die 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 build

Watch-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 watch

Veraltete 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-outputs

Annotationen 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

  1. Integrierte Annotationen: override, deprecated
  2. Eigene Annotationen schreiben
  3. Codegenerierung mit build_runner
  4. json_serializable in der Praxis
← Zurück zu Dart Academy