smalljs$molSuche⌘ KDokuPlaygroundVergleichÖkosystemÜberDE
ProjektstrukturGetting StartedEinführungMentales ModellErste SchritteVon TypeScript zu view.treeProjektstrukturWerkzeugeEssentialsInstallationViewsZustand und ReaktivitätRoutingRenderingTestenDeploymentFehlerbehebungDataDatenabrufDatenschemasGiper BazaMoreSchaufensterVon React, Vue und SvelteKochbuchAdvancedPluginsModul-MetadatenOfflineGhost-AnsichtenAboutFAQTeamReleasesAPI$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

Projektstruktur

Ein $mol-Projekt hat vier verschachtelte Ebenen: den Workspace, den Sie geklont haben, die Pakete darin, die Module in den Paketen und die Dateien in einem Modul. Die Aufteilung beantwortet eine praktische Frage — wohin ein neues Projekt gehört und wem seine Historie gehört — und fast alles, was der Build tut, folgt daraus.mam/ Workspace — der geklonte MAM-Checkout├── .meta.tree Registry: welches Paket aus welchem Repository├── mol/ Paket — das Framework selbst, eigenes git-Repository└── my/ Paket — Ihres, Ihr eigenes git-Repository ├── .gitattributes hält gebaute Binärdateien unversehrt ├── my.meta.tree Registry Ihrer eigenen Projekte └── hello/ Projekt — ein Modul und ein eigenes git-Repository ├── index.html Einstiegspunkt (nur App-Module) ├── hello.view.tree das Markup └── form/ Untermodul — $my_hello_formAuf dieser Seite trägt jede Zeile der Auflistung ein Fragezeichen mit dem Grund, warum sie dort steht; die Abschnitte weiter unten sagen dasselbe ausführlich.

Ein Projekt anlegen

Fünf Schritte. Nur der erste wiederholt sich, und die letzten drei kann der Scaffolder für Sie erledigen.1. Den Workspace einmal klonen. Alles, was Sie ab jetzt schreiben, liegt darin.1git clone https://github.com/hyoo-ru/mam.git2cd mam2. Ein eigenes Paket anlegen. Ein kurzer Ordner — Ihr Name, Ihre Firma, Ihr Handle — und ein eigenes git-Repository. Es ist der Container für jedes Projekt, das Sie beginnen:1mkdir my2cd my3git initVeröffentlichen Sie es dort, wo Sie Code halten, öffentlich oder privat. Legen Sie gleich eine .gitattributes mit der einen Zeile * -text dazu; warum, steht weiter unten im Abschnitt über Pakete.3. Die Registry hinzufügen. my/my.meta.tree ist die Liste der Projekte in Ihrem Paket. Sie beginnt leer und bekommt pro Projekt eine Zeile:1pack hello git \https://github.com/you/hello.gitMAM liest sie genauso wie die .meta.tree des Workspace eine Ebene höher, sodass eine Kollegin, die my/ klont, auch die Projekte bekommt.4. Das Projekt anlegen, mit eigenem Repository. Der Ordner ist die Komponente — my/hello/ ist $my_hello — und seine Historie gehört ihm, nicht Ihrem Paket und nicht $mol:1mkdir hello2cd hello3git initGenau diese Trennung ist der Sinn der Aufteilung: ein Commit in my/hello/ geht ins Repository hello, nie nach my und nie nach mol.5. Es eintragen. Fügen Sie die pack-Zeile aus Schritt 3 in my/my.meta.tree ein, und ein frischer Checkout Ihres Pakets holt das Projekt beim Namen.Der Scaffolder schreibt Ihnen jederzeit nach Schritt 2 ein lauffähiges Modul:1npx create-view-tree-lsp my/hello

Workspace

Sie klonen MAM einmal und arbeiten darin. Es ist kein Ordner, in den Abhängigkeiten kopiert werden: jedes Paket liegt dort als eigener git-Checkout, mit Historie, sodass Sie den Quellcode des Frameworks lesen, einen debugger hineinsetzen und aus derselben Arbeitskopie einen Pull Request öffnen können.Die .meta.tree im Wurzelverzeichnis ist die Registry, die das möglich macht: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.gitWenn der Build auf $mol_view trifft und es noch keinen mol/-Ordner gibt, schlägt er den Namen hier nach und klont das Repository. Nichts wird vendored und nichts wird flachgeklopft.

Pakete

Ein Ordner der obersten Ebene ist ein Paket, und ein Paket ist ein git-Repository. Ihr eigenes Paket ist einfach ein Ordner, den Sie benennen: solange es lokal bleibt, braucht es keine Registrierung, und eine pack-Zeile an dem Tag, an dem Sie es per Name geholt haben wollen.Pakete verschachteln sich. Ein Paket kann eigene pack-Deklarationen für die Ordner darin tragen, und MAM liest sie aus der meta.tree des Ordners, der das Paket enthalten wird. Diese Seite liegt in bog/smalljs/ und ist ein eigenes Repository, gelistet in bog/bog.meta.tree, das selbst im bog/-Checkout aus der .meta.tree der Wurzel liegt.
Diese Seite auf GitHub bearbeitenWar das hilfreich?JaNeinZurückVon TypeScript zu view.treeWeiterWerkzeuge
Auf dieser SeiteEin Projekt anlegenWorkspacePaketeEine Datei, die jedes Paket brauchtModuleDateien in einem ModulGenerierte Ordner beginnen mit einem BindestrichWas meta.tree tatsächlich tutWeiter
Type to search the documentation.