smalljs$mol搜尋⌘ K文件遊樂場比較生態系統關於ZH_HK
部署Getting Started介紹心智模型快速開始從 TypeScript 到 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 應用就是一個靜態檔案目錄。沒有服務要跑,沒有 Node 行程要守著,也沒有轉接器要挑:能託管一個目錄的地方,就能託管這個應用。

你部署的到底是什麼

建置把所有東西寫進模組裡的 -/ 目錄:1my/hello/-/2├── index.html 按部署路徑改寫過3├── web.js 整個應用,一個檔案4├── web.css5├── web.locale=en.json 每種語言一個6├── manifest.json7└── … `deploy` 指令複製進來的任何東西這個目錄就是網站。用任何靜態託管把它送出去,應用就跑起來了。my/hello/ 裡的其他東西都是原始碼,而 -/ 是產生的:工作區的 .gitignore 忽略 -*,所以建置產物從不進入專案自己的歷史。它是從部署分支上網的。

最短的版本

鷹架工具會寫好工作流程,所以新專案一推送就發佈:1npx create-view-tree-lsp my/hello2git push.github/workflows/deploy.yml 建置模組,並把 my/hello/-/ 推到 gh-pages 分支。只要 Settings → Pages → SourceDeploy from a branch 並選了 gh-pages,GitHub 就會提供這個分支——而對已經有該分支的儲存庫來說,這正是預設值。如果網址回 404,先查這一項。之後網站就住在 https://<user>.github.io/<repo>/

工作流程到底做了什麼

兩個 action 撐起全部,各自只要幾個輸入:1- uses: hyoo-ru/mam_build@master22 with:3 package: "my/hello" # 要建置的目錄,相對工作區4 modules: "app" # 其中的哪些模組5 6- uses: hyoo-ru/gh-deploy@v4.4.17 if: github.ref == 'refs/heads/main'8 with:9 folder: "my/hello/app/-"mam_build 在你的套件周圍鋪開 MAM 工作區,把程式裡的 $name 記號解析成存放它們的儲存庫,然後建置。它不需要 lockfile,也不需要 npm install 這一步:相依清單就是 .meta.tree 裡的登記表, 專案結構已經講過。gh-deploy 把建置好的目錄提交到 gh-pagestarget-folder 讓它落在子目錄而不是根目錄——分支預覽就是這麼來的:1- name: Deploy feature branch2 if: startsWith(github.ref, 'refs/heads/feature/')3 uses: hyoo-ru/gh-deploy@v4.4.14 with:5 folder: "my/hello/app/-"6 target-folder: ${{ github.ref_name }}於是每個 feature/* 分支在同一個 Pages 站台上都有自己的網址,而 delete 觸發器會在分支消失時清掉那個目錄。

部署離不開的一個檔案

在 GitHub 上編輯此頁這有幫助嗎?上一頁測試下一頁疑難排解
本頁內容你部署的到底是什麼最短的版本工作流程到底做了什麼部署離不開的一個檔案必須待在站台根目錄的檔案靜態託管上的深連結推送前先看一眼不只 GitHub Pages
Type to search the documentation.