0Pricing
Angular Academy · Leçon

API publique et points d’entrée

Concevez une interface de bibliothèque claire

API publique et points d’entrée est une leçon Angular Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Angular Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Angular Academy comprend 4 leçons au total.

La surface de l’API publique

Une bibliothèque ne doit exposer que ce que les utilisateurs sont censés utiliser. L’API publique est l’ensemble sélectionné des exports ; tout le reste demeure interne. Dans les bibliothèques Angular, cette surface est définie par public-api.ts.

public-api.ts comme fichier d’agrégation

public-api.ts réexporte les symboles auxquels vous souhaitez donner accès aux utilisateurs. Si un élément n’est pas exporté ici, il est effectivement privé, même s’il existe dans le code source.

// projects/ui-kit/src/public-api.ts
export * from './lib/button/button.component';
export * from './lib/theme.service';
// internal helpers are intentionally NOT exported

Pourquoi masquer les éléments internes

Garder les utilitaires privés signifie que vous pouvez les remanier librement sans interrompre les utilisateurs. Une API publique réduite et réfléchie est plus facile à documenter, versionner et maintenir que l’exportation de tous les éléments.

Exporter des types et des jetons

L’API publique comprend non seulement les composants, mais aussi les interfaces, les types et les jetons d’injection dont les utilisateurs ont besoin pour les utiliser correctement.

export { ButtonComponent } from './lib/button/button.component';
export type { ButtonVariant } from './lib/button/button.types';
export { THEME_CONFIG } from './lib/theme.tokens';

Points d’entrée secondaires

Les grandes bibliothèques sont divisées en points d’entrée secondaires afin que les utilisateurs n’importent que ce dont ils ont besoin (optimisation améliorée de l’arbre). Par exemple, ui-kit/testing est séparé de ui-kit.

import { ButtonComponent } from 'ui-kit';
import { provideUiKitTesting } from 'ui-kit/testing';

Créer un point d’entrée secondaire

Un point d’entrée secondaire est un sous-dossier qui possède son propre ng-package.json et son propre public-api.ts. ng-packagr le découvre automatiquement et le compile comme chemin d’import distinct.

projects/ui-kit/
  testing/
    ng-package.json   # marks a secondary entry point
    src/public-api.ts

Correspondance du point d’entrée principal

Le ng-package.json de la bibliothèque associe son entryFile à public-api.ts, indiquant à la compilation quel fichier constitue la surface publique principale.

// projects/ui-kit/ng-package.json
{
  "lib": { "entryFile": "src/public-api.ts" }
}

Concevoir pour la stabilité

Considérez l’API publique comme un contrat : supprimer ou renommer un export constitue une modification incompatible. Ajoutez librement de nouveaux exports, mais rendez-les obsolètes avant de les supprimer afin de laisser aux utilisateurs le temps de migrer.

Éviter les imports profonds

Puisque seul public-api.ts constitue le contrat, les utilisateurs ne doivent jamais importer directement des chemins internes comme ui-kit/lib/button/internal. L’exportation via le fichier d’agrégation conserve une surface d’importation unique et stable.

Réexporter des types tiers

Si une méthode de votre API renvoie un type provenant d’un autre paquet, réexportez ce type afin que les utilisateurs n’aient pas besoin d’une dépendance distincte pour le nommer. La surface publique reste ainsi autonome.

Documenter la surface

Ajoutez des commentaires JSDoc aux symboles exportés. Comme seuls les éléments de l’API publique sont visibles par les utilisateurs, les documenter leur fournit IntelliSense et des indications claires sur leur utilisation.

Vérification rapide

Qu’est-ce qui définit ce que les utilisateurs peuvent importer ?

Récapitulatif

L’API publique est organisée dans public-api.ts, qui réexporte les composants, les types et les jetons ; tout le reste demeure privé et peut être remanié. Utilisez des points d’entrée secondaires pour les grandes bibliothèques, pointez ng-package.json vers le fichier d’entrée, évitez les imports profonds et considérez la surface comme un contrat stable et documenté.

Questions Fréquemment Posées

La leçon « API publique et points d’entrée » est-elle gratuite ?

Oui — le texte complet de « API publique et points d’entrée » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Angular Academy, passe à CoddyKit PRO. Le cours Angular Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « API publique et points d’entrée » ?

Concevez une interface de bibliothèque claire Tu pratiques Angular Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Angular Academy ?

Aucune expérience préalable n'est requise. Angular Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « API publique et points d’entrée » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Angular Academy ?

Oui. Chaque leçon Angular Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Créer une bibliothèque avec ng generate
  2. API publique et points d’entrée
  3. Construire avec ng-packagr
  4. Publier sur npm
← Retour à Angular Academy