smalljs$molجستجو⌘ Kمستنداتزمین بازیمقایسهاکوسیستمدربارهFA
ساختار پروژهGetting Startedمعرفیمدل ذهنیشروع به کاراز تایپ‌اسکریپت به view.treeساختار پروژهابزارهاEssentialsنصبنماهاوضعیت و واکنش‌گراییمسیریابیرندرتست‌نویسیاستقراررفع اشکالDataدریافت دادهطرح‌واره‌های دادهGiper BazaMoreویتریناز React، Vue و Svelteکتابِ آشپزیAdvancedپلاگین‌هافراداده‌های ماژولآفلایننماهای شبحAboutپرسش‌های پرتکرارتیمانتشارهاAPI$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

ساختار پروژه

پروژهٔ $mol چهار لایهٔ تودرتو دارد: فضای کاری که کلون کرده‌اید، بسته‌های داخلش، ماژول‌های داخلِ بسته‌ها و فایل‌های داخلِ ماژول. این چیدمان به یک پرسشِ عملی پاسخ می‌دهد: پروژهٔ تازه کجا می‌رود و تاریخچه‌اش مالِ کیست. تقریباً هر کاری که ساخت انجام می‌دهد از همین برمی‌آید.mam/ فضای کاری — همان MAMِ کلون‌شده├── .meta.tree فهرست: هر بسته از کدام مخزن├── mol/ بسته — خودِ فریم‌ورک، با مخزنِ گیتِ خودش└── my/ بسته — مالِ شما، با مخزنِ گیتِ خودتان ├── .gitattributes باینری‌های ساخته‌شده را سالم نگه می‌دارد ├── my.meta.tree فهرستِ پروژه‌های خودتان └── hello/ پروژه — یک ماژول و مخزنِ گیتِ مستقلِ خودش ├── index.html نقطهٔ ورود (فقط ماژول‌های اپ) ├── hello.view.tree نشانه‌گذاری └── form/ زیرماژول — $my_hello_formدر این صفحه هر خطِ فهرست یک علامتِ سؤال دارد که می‌گوید چرا آنجاست؛ بخش‌های پایین‌تر همان را با تفصیل می‌گویند.

شروعِ یک پروژه

پنج گام. فقط گامِ نخست تکرار می‌شود و سه گامِ آخر را اسکافولدر می‌تواند برایتان انجام دهد.۱. یک بار فضای کاری را کلون کنید. از این پس هرچه بنویسید داخلِ آن زندگی می‌کند.1git clone https://github.com/hyoo-ru/mam.git2cd mam۲. بستهٔ خودتان را بسازید. یک پوشهٔ کوتاه — نامتان، شرکتتان، شناسه‌تان — و مخزنِ گیتِ مستقلِ خودش. ظرفِ همهٔ پروژه‌هایی است که شروع خواهید کرد:1mkdir my2cd my3git initهمان‌جا که کد نگه می‌دارید منتشرش کنید، عمومی یا خصوصی. در همان حال یک .gitattributes با تنها خطِ * -text کنارش بگذارید؛ دلیلش پایین‌تر، در بخشِ بسته‌ها آمده است.۳. فهرست را اضافه کنید. my/my.meta.tree سیاههٔ پروژه‌های داخلِ بستهٔ شماست. خالی شروع می‌شود و برای هر پروژه یک خط می‌گیرد:1pack hello git \https://github.com/you/hello.gitMAM دقیقاً همان‌طور می‌خواندش که .meta.treeِ فضای کاریِ یک سطح بالاتر را؛ پس همکاری که my/ را کلون کند، پروژه‌ها را هم می‌گیرد.۴. پروژه را با مخزنِ خودش بسازید. پوشه همان کامپوننت است — my/hello/ همان $my_hello — و تاریخچه مالِ خودِ اوست، نه مالِ بستهٔ شما و نه مالِ $mol:1mkdir hello2cd hello3git initهمین جدایی، نکتهٔ اصلیِ این چیدمان است: کامیت در my/hello/ به مخزنِ hello می‌رود، هرگز به my و هرگز به mol.۵. ثبتش کنید. خطِ pack از گامِ ۳ را در my/my.meta.tree بیفزایید تا چک‌اوتِ تازه از بستهٔ شما پروژه را با نام بیاورد. اسکافولدر هر زمان پس از گامِ دوم، یک ماژولِ کارا برایتان می‌نویسد:1npx create-view-tree-lsp my/hello

فضای کاری

MAM را یک بار کلون می‌کنید و داخل آن کار می‌کنید. این پوشه‌ای نیست که وابستگی‌ها در آن کپی شوند: هر بسته همان‌جا چک‌اوت git خودش را دارد، همراه با تاریخچه، پس می‌توانید سورس فریم‌ورک را بخوانید، در آن debugger بگذارید و از همان نسخهٔ کاری یک pull request باز کنید.فایل .meta.tree ریشه همان رجیستری‌ای است که این را ممکن می‌کند: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.gitوقتی ساخت به $mol_view می‌رسد و هنوز پوشهٔ mol/ وجود ندارد، نام را همین‌جا جست‌وجو می‌کند و مخزن را کلون می‌کند. هیچ‌چیز وندور نمی‌شود و هیچ‌چیز تخت نمی‌شود.

بسته‌ها

یک پوشهٔ سطح‌بالا یک بسته است، و یک بسته یک مخزن git است. بستهٔ خودتان صرفاً پوشه‌ای است که نامش را می‌گذارید: تا وقتی محلی بماند نیازی به ثبت ندارد، و روزی که بخواهید با نام دریافتش کنید یک خط pack لازم می‌شود.بسته‌ها تودرتو می‌شوند. یک بسته می‌تواند اعلان‌های pack مخصوص پوشه‌های درون خودش را داشته باشد، و MAM آن‌ها را از meta.tree همان پوشه‌ای می‌خواند که بسته را در خود جا خواهد داد. این سایت در bog/smalljs/ زندگی می‌کند و مخزنی مستقل است که در bog/bog.meta.tree فهرست شده، و آن فایل خودش درون چک‌اوت bog/ قرار دارد که در .meta.tree ریشه فهرست شده است.

یک فایل که هر بسته لازم دارد

ویرایش این صفحه در GitHubآیا این مفید بود؟بلهخیرقبلیاز تایپ‌اسکریپت به view.treeبعدیابزارها
در این صفحهشروعِ یک پروژهفضای کاریبسته‌هایک فایل که هر بسته لازم داردماژول‌هافایل‌های یک ماژولپوشه‌های تولیدشده با خط تیره شروع می‌شوندmeta.tree واقعاً چه می‌کندبعدی
Type to search the documentation.