$mol
搜尋
⌘ K
文件
遊樂場
比較
生態系統
關於
ZH_HK
專案結構
Getting Started
介紹
心智模型
快速開始
從 TypeScript 到 view.tree
專案結構
工具鏈
Essentials
安裝
視圖
狀態與響應式
路由
渲染
測試
部署
疑難排解
Data
資料獲取
資料模式
Giper Baza
More
展示
來自 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/
套件 —— 框架本身,自己的 git 儲存庫
└──
my/
套件 —— 你的,你自己的 git 儲存庫
├──
.gitattributes
讓建置出的二進位檔保持完好
├──
my.meta.tree
你自己專案的登記表
└──
hello/
專案 —— 一個模組,也是自己的 git 儲存庫
├──
index.html
入口(只有應用模組需要)
├──
hello.view.tree
標記
└──
form/
子模組 —— $my_hello_form
在本頁,這份清單的每一行都帶一個問號,說明它為什麼在那裡;下面的小節把同樣的事講得更細。
開一個專案
五步。只有第一步會重複,後三步可以交給鷹架工具。
1. 複製工作區,一次。
從此以後你寫的一切都住在裡面。
1
git
clone
https://github.com/hyoo-ru/mam.git
2
cd
mam
2. 建一個屬於你的套件。
一個短名目錄——你的名字、你的公司、你的 ID——而且是一個獨立的 git 儲存庫。它是你今後所有專案的容器:
1
mkdir
my
2
cd
my
3
git
init
把它推到你放程式的地方,公開或私有都行。順手加一個只有
*
-
text
一行的
.
gitattributes
;原因見下面關於套件的小節。
3. 加上登記表。
my
/
my
.
meta
.
tree
是你套件裡專案的清單。它一開始是空的,每個專案一行:
1
pack hello git
\https://github.com/you/hello.git
MAM 讀它的方式,和讀上一層工作區的
.
meta
.
tree
完全一樣,所以同事複製
my
/
時也會拿到這些專案。
4. 建專案,並給它自己的儲存庫。
目錄就是元件——
my
/hello/
就是
$my_hello
——它的歷史屬於它自己,不屬於你的套件,也不屬於 $mol:
1
mkdir
hello
2
cd
hello
3
git
init
這種分離正是版面的用意:
my
/hello/
裡的提交進入
hello
儲存庫,永遠不會進
my
,也不會進
mol
。
5. 登記它。
把第 3 步的
pack
行寫進
my
/
my
.
meta
.
tree
,之後新的檢出就會按名字把專案取回來。
第 2 步之後的任何時候,
鷹架工具
都能替你寫出一個能跑的模組:
1
npx
create
-
view
-
tree
-
lsp
my
/
hello
工作區
MAM 只複製一次,然後就在裏面工作。它不是一個把相依複製進來的資料夾:每個套件都以自己的 git 複製形式待在那裏,帶着完整歷史,所以你可以讀框架的原始碼、往裏面放一個
debugger
,並從同一份工作副本發起 pull request。
根目錄的
.
meta
.
tree
就是讓這一切成立的登錄表:
1
pack mol git
\https://github.com/hyoo-ru/mam_mol.git
2
pack hyoo git
\https://github.com/hyoo-ru/mam_hyoo.git
3
pack lib git
\https://github.com/hyoo-ru/mam_lib.git
當建置遇到
$mol_view
而
mol
/
資料夾還不存在時,它會到這裏查這個名字並複製儲存庫。沒有任何東西被 vendor 進來,也沒有任何東西被壓平。
套件
頂層資料夾就是一個套件,而套件就是一個 git 儲存庫。你自己的套件只是一個由你命名的資料夾:只要它還留在本機,就不需要任何登記;等到你想按名字拉取它的那天,再加一行
pack
。
套件可以巢狀。一個套件能為自己內部的資料夾攜帶自己的
pack
宣告,MAM 從將要容納該套件的那個資料夾的
meta
.
tree
中讀取它們。本站位於
bog
/smalljs/
,本身就是一個儲存庫,登記在
bog
/
bog
.
meta
.
tree
裏;而後者又位於根
.
meta
.
tree
所列的
bog
/
複製之中。
每個套件都需要的一個檔案
會被部署的套件需要一個只有一行內容的
.
gitattributes
:
1
*
-
text
在 GitHub 上編輯此頁
這有幫助嗎?
是
否
上一頁
從 TypeScript 到 view.tree
下一頁
工具鏈
本頁內容
開一個專案
工作區
套件
每個套件都需要的一個檔案
模組
模組裏的檔案
生成的資料夾以短橫線開頭
meta.tree 實際做的事
下一步
Type to search the documentation.