Publikt API och entry points
Utforma ett tydligt biblioteksgränssnitt.
Publikt API och entry points är en gratis lektion i Angular Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Angular Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Angular Academy innehåller totalt 4 lektioner.
Det offentliga API:t
Ett bibliotek bör bara exponera det som konsumenterna är tänkta att använda. Det public API är den utvalda mängden exporter; allt annat förblir internt. I Angular-bibliotek definieras detta API av public-api.ts.
public-api.ts som barrel
public-api.ts återexporterar de symboler som ni vill ge konsumenterna tillgång till. Om något inte exporteras här är det i praktiken privat, även om det finns i källkoden.
// projects/ui-kit/src/public-api.ts
export * from './lib/button/button.component';
export * from './lib/theme.service';
// internal helpers are intentionally NOT exportedVarför dölja interna delar
När hjälpfunktioner hålls privata kan ni fritt omstrukturera dem utan att bryta konsumenterna. Ett litet och genomtänkt public API är enklare att dokumentera, versionshantera och underhålla än ett API där allt exporteras.
Exportera typer och tokens
Det offentliga API:t omfattar inte bara komponenter utan även de gränssnitt, typer och injection tokens som konsumenterna behöver för att använda dem korrekt.
export { ButtonComponent } from './lib/button/button.component';
export type { ButtonVariant } from './lib/button/button.types';
export { THEME_CONFIG } from './lib/theme.tokens';Sekundära entry points
Stora bibliotek delas upp i sekundära entry points så att konsumenter bara importerar det de behöver (bättre tree-shaking). Till exempel ui-kit/testing separat från ui-kit.
import { ButtonComponent } from 'ui-kit';
import { provideUiKitTesting } from 'ui-kit/testing';Skapa en sekundär entry point
En sekundär entry point är en undermapp med en egen ng-package.json och public-api.ts. ng-packagr hittar den automatiskt och bygger den som en separat importsökväg.
projects/ui-kit/
testing/
ng-package.json # marks a secondary entry point
src/public-api.tsMappningen för huvud-entry point
Bibliotekets ng-package.json pekar med entryFile på public-api.ts och anger därmed vilken fil som utgör det huvudsakliga offentliga API:t.
// projects/ui-kit/ng-package.json
{
"lib": { "entryFile": "src/public-api.ts" }
}Designa för stabilitet
Behandla det offentliga API:t som ett kontrakt: att ta bort eller byta namn på en export är en inkompatibel ändring. Lägg gärna till nya exporter, men markera dem som föråldrade innan de tas bort så att konsumenterna hinner migrera.
Undvik deep imports
Eftersom endast public-api.ts utgör kontraktet bör konsumenter aldrig göra deep imports av interna sökvägar som ui-kit/lib/button/internal. Exporter via barreln ger en enda stabil importsökväg.
Återexportera typer från tredjepart
Om en API-metod returnerar en typ från ett annat paket bör ni återexportera typen, så att konsumenterna inte behöver ett separat beroende bara för att kunna ange typen. Då blir det offentliga API:t självförsörjande.
Dokumentera API:t
Lägg till JSDoc-kommentarer för exporterade symboler. Eftersom konsumenterna bara ser poster i public-api får de IntelliSense och tydliga användningsinstruktioner när dessa dokumenteras.
Snabb kontroll
Vad definierar vad konsumenterna kan importera?
Sammanfattning
Det offentliga API:t samlas i public-api.ts, som återexporterar komponenter, typer och tokens; allt annat förblir privat och kan omstruktureras. Använd sekundära entry points för stora bibliotek, låt ng-package.json peka på entry-filen, undvik deep imports och behandla API:t som ett stabilt och dokumenterat kontrakt.
Lär dig HTML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 38
- Lektioner
- 144
Vanliga frågor
Är lektionen ”Publikt API och entry points” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Angular Academy, inklusive ”Publikt API och entry points”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Angular Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Publikt API och entry points”?
Utforma ett tydligt biblioteksgränssnitt. Ni övar på Angular Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Angular Academy?
Du behöver inga förkunskaper. Utbildningen i Angular Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Publikt API och entry points”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Angular Academy-lektionen?
Ja. Varje Angular Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Skapa ett bibliotek med ng generate
- Publikt API och entry points
- Bygga med ng-packagr
- Publicera till npm