smalljs$molRechercher⌘ KDocsPlaygroundComparerÉcosystèmeÀ proposFR
Structure d'un projetGetting StartedIntroductionModèle mentalDémarrageDe TypeScript à view.treeStructure d'un projetOutillageEssentialsInstallationVuesÉtat et réactivitéRoutageRenduTestsDéploiementDépannageDataRécupération de donnéesSchémas de donnéesGiper BazaMoreVitrineDe React, Vue et SvelteRecettesAdvancedPluginsMétadonnées de moduleHors-ligneVues fantômesAboutFAQÉquipeVersionsAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Structure d'un projet

Un projet $mol a quatre niveaux imbriqués : l'espace de travail que vous avez cloné, les paquets qu'il contient, les modules dans ces paquets et les fichiers dans un module. Cette disposition répond à une question pratique — où va un nouveau projet et à qui appartient son historique — et presque tout ce que fait la compilation en découle.mam/ espace de travail — le clone de MAM├── .meta.tree registre : quel paquet vient de quel dépôt├── mol/ paquet — le framework lui-même, son propre dépôt git└── my/ paquet — le vôtre, votre propre dépôt git ├── .gitattributes garde intacts les binaires compilés ├── my.meta.tree registre de vos propres projets └── hello/ projet — un module, et un dépôt git à lui ├── index.html point d'entrée (modules applicatifs seulement) ├── hello.view.tree le balisage └── form/ sous-module — $my_hello_formSur cette page, chaque ligne de la liste porte un point d'interrogation avec la raison de sa présence ; les sections plus bas disent la même chose en détail.

Démarrer un projet

Cinq étapes. Seule la première se répète, et le générateur peut faire les trois dernières à votre place.1. Clonez l'espace de travail, une fois. Tout ce que vous écrirez désormais vit à l'intérieur.1git clone https://github.com/hyoo-ru/mam.git2cd mam2. Créez votre propre paquet. Un dossier court — votre nom, votre entreprise, votre pseudo — et un dépôt git à lui. C'est le conteneur de tous les projets que vous commencerez :1mkdir my2cd my3git initPubliez-le là où vous gardez votre code, en public ou en privé. Ajoutez au passage un .gitattributes avec la seule ligne * -text ; la raison est plus bas, dans la section sur les paquets.3. Ajoutez le registre. my/my.meta.tree est la liste des projets de votre paquet. Il commence vide et gagne une ligne par projet :1pack hello git \https://github.com/you/hello.gitMAM le lit exactement comme le .meta.tree de l'espace de travail un niveau au-dessus, si bien qu'un collègue qui clone my/ récupère aussi les projets.4. Créez le projet, avec un dépôt à lui. Le dossier est le composant — my/hello/ c'est $my_hello — et son historique lui appartient, pas à votre paquet ni à $mol :1mkdir hello2cd hello3git initCette séparation est tout l'intérêt de la disposition : un commit dans my/hello/ va au dépôt hello, jamais à my ni à mol.5. Déclarez-le. Ajoutez la ligne pack de l'étape 3 dans my/my.meta.tree, et un clone frais de votre paquet récupérera le projet par son nom.Le générateur vous écrit un module fonctionnel à tout moment après l'étape 2 :1npx create-view-tree-lsp my/hello

Espace de travail

Vous clonez MAM une fois et vous travaillez dedans. Ce n'est pas un dossier où les dépendances sont copiées : chaque paquet y est un clone git à part entière, avec son historique, si bien que vous pouvez lire les sources du framework, y placer un debugger et ouvrir une pull request depuis la même copie de travail.Le .meta.tree racine est le registre qui rend cela possible :1pack mol git \https://github.com/hyoo-ru/mam_mol.git2pack hyoo git \https://github.com/hyoo-ru/mam_hyoo.git3pack lib git \https://github.com/hyoo-ru/mam_lib.gitQuand le build rencontre $mol_view et qu'aucun dossier mol/ n'existe encore, il cherche le nom ici et clone le dépôt. Rien n'est vendorisé et rien n'est aplati.

Paquets

Un dossier de premier niveau est un paquet, et un paquet est un dépôt git. Votre propre paquet n'est qu'un dossier que vous nommez : tant qu'il reste local, il n'a besoin d'aucun enregistrement, et d'une ligne pack le jour où vous voudrez le récupérer par son nom.Les paquets s'imbriquent. Un paquet peut porter ses propres déclarations pack pour les dossiers qu'il contient, et MAM les lit dans le meta.tree du dossier qui contiendra le paquet. Ce site vit dans bog/smalljs/ et constitue un dépôt à lui seul, listé dans bog/bog.meta.tree, lui-même situé dans le clone bog/ listé dans le .meta.tree racine.
Modifier cette page sur GitHubÉtait-ce utile ?OuiNonPrécédentDe TypeScript à view.treeSuivantOutillage
Sur cette pageDémarrer un projetEspace de travailPaquetsUn fichier dont chaque paquet a besoinModulesFichiers d'un moduleLes dossiers générés commencent par un tiretCe que fait réellement meta.treeSuite
Type to search the documentation.