0Pricing
TypeScript Academy · Leçon

Monorepos et références de projet

Créez un monorepo d’espace de travail et reliez les références de projet TypeScript pour des compilations rapides et incrémentielles et des types propres entre packages.

Monorepos et références de projet est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 1. 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 TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 1 leçons au total.

Introduction

Objectif : organiser un monodépôt capable d’évoluer à grande échelle. Vous déclarerez des espaces de travail, ajouterez des références de projet et effectuerez la compilation avec tsc -b pour obtenir une sortie incrémentale.

  • Espaces de travail pnpm/yarn
  • Projets composites
  • Types partagés

Organisation de l’espace de travail

Une organisation simple en deux paquets : shared (bibliothèque) et app (qui dépend de shared). Les espaces de travail relient les paquets locaux.

# folder structure (for reference)
			/monorepo
			package.json
			tsconfig.base.json
			packages/
			shared/
			src/index.ts
			package.json
			tsconfig.json
			app/
			src/index.ts
			package.json
			tsconfig.json

Espaces de travail racine

Déclarez les espaces de travail afin que le gestionnaire de paquets relie les dépendances locales. Ajoutez les scripts build/clean en utilisant le mode de compilation de TS.

// package.json (root)
			{
			"name": "monorepo",
			"private": true,
			"workspaces": ["packages/*"],
			"scripts": {
			"build": "tsc -b packages/*",
			"clean": "tsc -b packages/* --clean"
			}
			}

Paquet partagé

Marquez la bibliothèque comme projet composite. Émettez les déclarations afin que les paquets dépendants puissent vérifier leurs types rapidement.

// packages/shared/tsconfig.json
{
  "extends": "../../tsconfig.base.json",
  "compilerOptions": {
    "outDir": "dist",
    "rootDir": "src",
    "declaration": true,
    "composite": true
  },
  "include": ["src"]
}

// packages/shared/src/index.ts
export interface User { id: string; name: string }
export const hello = (u: User) => `Hello, ${u.name}`

Paquet app + références

Ajoutez une entrée references pour dépendre de shared. Le générateur compile d’abord shared, puis app.

// packages/app/tsconfig.json
			{
			"extends": "../../tsconfig.base.json",
			"compilerOptions": {
			"outDir": "dist",
			"rootDir": "src",
			"composite": true
			},
			"references": [
			{ "path": "../shared" }
			],
			"include": ["src"]
			}

			// packages/app/src/index.ts
		import { hello } from "shared"
console.log(hello({ id: "u1", name: "Ada" }))

Configuration de base et conseils

Conseils :

  • Créez tsconfig.base.json pour les options communes du compilateur.
  • Utilisez des mappages paths qui reflètent les noms des paquets.
  • Exécutez tsc -b --watch pour le développement local incrémentiel.

Vérification de l’exigence des références

Vérification rapide : que doit inclure chaque paquet référencé ?

Récapitulatif

Récapitulatif : les espaces de travail relient les paquets locaux ; les références de projet (composite + references) permettent des compilations tsc -b rapides et incrémentielles, ainsi qu’une vérification fiable des types entre paquets.

Questions Fréquemment Posées

La leçon « Monorepos et références de projet » est-elle gratuite ?

Oui — le texte complet de « Monorepos et références de projet » 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 TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 1 leçons au total.

Qu'est-ce que j'apprendrai dans « Monorepos et références de projet » ?

Créez un monorepo d’espace de travail et reliez les références de projet TypeScript pour des compilations rapides et incrémentielles et des types propres entre packages. Tu pratiques TypeScript 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 TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript 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 1 sur 1.

Combien de temps prend la leçon « Monorepos et références de projet » ?

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 TypeScript Academy ?

Oui. Chaque leçon TypeScript 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.

← Retour à TypeScript Academy