Öffentliche API und Einstiegspunkte
Eine übersichtliche Bibliotheksoberfläche entwerfen
Öffentliche API und Einstiegspunkte ist eine kostenlose Angular Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Angular Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Angular Academy-Kurs umfasst insgesamt 4 Lektionen.
Die öffentliche API-Oberfläche
Eine Library sollte nur das bereitstellen, was Nutzer verwenden sollen. Die öffentliche API ist die sorgfältig ausgewählte Menge der Exporte; alles andere bleibt intern. In Angular-Libraries wird diese Oberfläche durch public-api.ts definiert.
public-api.ts als Barrel
public-api.ts exportiert die Symbole erneut, auf die Nutzer zugreifen dürfen. Wenn etwas hier nicht exportiert wird, ist es effektiv privat, auch wenn es im Quellcode vorhanden ist.
// projects/ui-kit/src/public-api.ts
export * from './lib/button/button.component';
export * from './lib/theme.service';
// internal helpers are intentionally NOT exportedWarum Interna verborgen bleiben sollten
Wenn Hilfsfunktionen privat bleiben, können Sie sie frei umstrukturieren, ohne Nutzer zu beeinträchtigen. Eine kleine, bewusst gestaltete öffentliche API lässt sich leichter dokumentieren, versionieren und warten als ein Export aller Elemente.
Typen und Tokens exportieren
Die öffentliche API umfasst nicht nur Komponenten, sondern auch die Interfaces, Typen und Injection-Tokens, die Nutzer benötigen, um diese korrekt zu verwenden.
export { ButtonComponent } from './lib/button/button.component';
export type { ButtonVariant } from './lib/button/button.types';
export { THEME_CONFIG } from './lib/theme.tokens';Sekundäre Einstiegspunkte
Große Libraries werden in sekundäre Einstiegspunkte aufgeteilt, damit Nutzer nur importieren, was sie benötigen (besseres Tree-Shaking). Ein Beispiel ist ui-kit/testing getrennt von ui-kit.
import { ButtonComponent } from 'ui-kit';
import { provideUiKitTesting } from 'ui-kit/testing';Einen sekundären Einstiegspunkt erstellen
Ein sekundärer Einstiegspunkt ist ein Unterordner mit eigener ng-package.json und public-api.ts. ng-packagr erkennt ihn automatisch und baut ihn als separaten Importpfad.
projects/ui-kit/
testing/
ng-package.json # marks a secondary entry point
src/public-api.tsZuordnung des Haupteinstiegspunkts
Die ng-package.json der Library verweist mit entryFile auf public-api.ts und teilt dem Build dadurch mit, welche Datei die wichtigste öffentliche Oberfläche definiert.
// projects/ui-kit/ng-package.json
{
"lib": { "entryFile": "src/public-api.ts" }
}Für Stabilität entwerfen
Behandeln Sie die öffentliche API wie einen Vertrag: Das Entfernen oder Umbenennen eines Exports ist eine Breaking Change. Fügen Sie neue Exporte problemlos hinzu, markieren Sie sie jedoch zunächst als veraltet, bevor Sie sie entfernen, damit Nutzer Zeit für die Migration haben.
Tiefe Importe vermeiden
Da nur public-api.ts den Vertrag darstellt, sollten Nutzer niemals interne Pfade wie ui-kit/lib/button/internal direkt importieren. Exporte über das Barrel sorgen für eine einzige stabile Importschnittstelle.
Typen von Drittanbietern erneut exportieren
Wenn eine API-Methode einen Typ aus einem anderen Paket zurückgibt, exportieren Sie diesen Typ erneut, damit Nutzer nicht nur zu seiner Benennung eine zusätzliche Abhängigkeit benötigen. So bleibt die öffentliche Oberfläche eigenständig nutzbar.
Die Oberfläche dokumentieren
Fügen Sie exportierten Symbolen JSDoc-Kommentare hinzu. Da für Nutzer nur die Elemente aus public-api sichtbar sind, bieten deren Dokumentationen IntelliSense und klare Hinweise zur Verwendung.
Kurze Überprüfung
Was legt fest, was Nutzer importieren können?
Zusammenfassung
Die öffentliche API wird in public-api.ts zusammengestellt, das Komponenten, Typen und Tokens erneut exportiert. Alles andere bleibt privat und kann umstrukturiert werden. Verwenden Sie für große Libraries sekundäre Einstiegspunkte, verweisen Sie in ng-package.json auf die Einstiegsdatei, vermeiden Sie tiefe Importe und behandeln Sie die Oberfläche als stabilen, dokumentierten Vertrag.
Häufig gestellte Fragen
Ist die Lektion „Öffentliche API und Einstiegspunkte“ kostenlos?
Ja — der vollständige Text von „Öffentliche API und Einstiegspunkte“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Angular Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Angular Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Öffentliche API und Einstiegspunkte“?
Eine übersichtliche Bibliotheksoberfläche entwerfen Du übst Angular 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 Angular Academy zu starten?
Keine Vorkenntnisse erforderlich. Angular 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 2 von 4.
Wie lange dauert die Lektion „Öffentliche API und Einstiegspunkte“?
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 Angular Academy-Lektion Code schreiben und ausführen?
Ja. Jede Angular 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
- Eine Bibliothek mit ng generate erstellen
- Öffentliche API und Einstiegspunkte
- Mit ng-packagr bauen
- Auf npm veröffentlichen