smalljs$molSzukaj⌘ KDokumentacjaPlaygroundPorównanieEkosystemO projekciePL
Struktura projektuGetting StartedWprowadzenieModel mentalnyPierwsze krokiZ TypeScriptu do view.treeStruktura projektuNarzędziaEssentialsInstalacjaWidokiStan i reaktywnośćRoutingRenderowanieTestowanieWdrożenieRozwiązywanie problemówDataPobieranie danychSchematy danychGiper BazaMorePrezentacjaZ React, Vue i SvelteZbiór przepisówAdvancedWtyczkiMetadane modułuOfflineWidoki-duchyAboutFAQZespółWydaniaAPI$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

Struktura projektu

Projekt $mol ma cztery zagnieżdżone poziomy: workspace, który sklonowałeś, pakiety w środku, moduły w pakietach i pliki w module. Ten układ odpowiada na jedno praktyczne pytanie — gdzie trafia nowy projekt i do kogo należy jego historia — i prawie wszystko, co robi build, z niego wynika.mam/ workspace — sklonowany MAM├── .meta.tree rejestr: który pakiet z którego repozytorium├── mol/ pakiet — sam framework, własne repozytorium gita└── my/ pakiet — twój, twoje repozytorium gita ├── .gitattributes zachowuje zbudowane binaria w całości ├── my.meta.tree rejestr twoich projektów └── hello/ projekt — moduł i własne repozytorium gita ├── index.html punkt wejścia (tylko moduły aplikacji) ├── hello.view.tree znaczniki └── form/ podmoduł — $my_hello_formNa tej stronie każdy wiersz listingu ma znak zapytania z powodem, dla którego tam jest; sekcje niżej mówią to samo szerzej.

Jak założyć projekt

Pięć kroków. Powtarza się tylko pierwszy, a trzy ostatnie może wykonać za ciebie scaffolder.1. Sklonuj workspace, raz. Wszystko, co napiszesz od teraz, żyje w środku.1git clone https://github.com/hyoo-ru/mam.git2cd mam2. Załóż własny pakiet. Jeden krótki katalog — twoje imię, twoja firma, twój nick — i własne repozytorium gita. To pojemnik na każdy projekt, który zaczniesz:1mkdir my2cd my3git initOpublikuj go tam, gdzie trzymasz kod, publicznie albo prywatnie. Przy okazji dołóż .gitattributes z jedną linią * -text; dlaczego — niżej, w sekcji o pakietach.3. Dodaj rejestr. my/my.meta.tree to lista projektów w twoim pakiecie. Zaczyna pusty i dostaje po linii na projekt:1pack hello git \https://github.com/you/hello.gitMAM czyta go tak samo jak .meta.tree workspace'u piętro wyżej, więc kolega, który sklonuje my/, dostanie też projekty.4. Utwórz projekt z własnym repozytorium. Katalog jest komponentem — my/hello/ to $my_hello — a historia należy do niego, nie do twojego pakietu ani do $mol:1mkdir hello2cd hello3git initW tym rozdzieleniu tkwi sens układu: commit w my/hello/ idzie do repozytorium hello, nigdy do my i nigdy do mol.5. Wpisz go. Dodaj linię pack z kroku 3 do my/my.meta.tree, a świeży checkout twojego pakietu pobierze projekt po nazwie. Scaffolder napisze ci działający moduł w dowolnym momencie po kroku 2:1npx create-view-tree-lsp my/hello

Przestrzeń robocza

MAM klonujesz raz i pracujesz w środku. To nie jest katalog, do którego kopiowane są zależności: każdy pakiet leży tam jako własny checkout gita, z historią, więc możesz czytać źródła frameworka, wstawić w nie debugger i otworzyć pull request z tej samej kopii roboczej.Główny .meta.tree jest rejestrem, który to umożliwia: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.gitGdy build natrafia na $mol_view, a katalogu mol/ jeszcze nie ma, szuka nazwy tutaj i klonuje repozytorium. Nic nie jest wendorowane i nic nie jest spłaszczane.

Pakiety

Katalog najwyższego poziomu to pakiet, a pakiet to repozytorium git. Twój własny pakiet jest po prostu katalogiem, który nazywasz: dopóki żyje lokalnie, nie potrzebuje rejestracji, a linia pack przyda się w dniu, w którym zechcesz pobierać go po nazwie.Pakiety się zagnieżdżają. Pakiet może nieść własne deklaracje pack dla katalogów w swoim wnętrzu, a MAM czyta je z meta.tree tego katalogu, który będzie zawierał pakiet. Ta strona żyje w bog/smalljs/ i jest osobnym repozytorium, wymienionym w bog/bog.meta.tree, który sam leży w checkoucie bog/ wymienionym w głównym .meta.tree.

Jeden plik, którego potrzebuje każdy pakiet

Edytuj tę stronę na GitHubieCzy to było pomocne?TakNiePoprzedniaZ TypeScriptu do view.treeNastępnaNarzędzia
Na tej stronieJak założyć projektPrzestrzeń roboczaPakietyJeden plik, którego potrzebuje każdy pakietModułyPliki w moduleWygenerowane katalogi zaczynają się od myślnikaCo naprawdę robi meta.treeDalej
Type to search the documentation.