Zbudowana aplikacja $mol to katalog plików statycznych. Nie ma serwera do uruchomienia, procesu Node do utrzymywania przy życiu ani adaptera do wyboru: co hostuje katalog, to hostuje aplikację.
Build zapisuje wszystko do katalogu -/ wewnątrz modułu:1my/hello/-/2├── index.htmlprzepisanypod ścieżkę wdrożenia3├── web.jscałaaplikacja,jedenplik4├── web.css5├── web.locale=en.jsonpojednymnajęzyk6├── manifest.json7└── … wszystko,cowciągnęładyrektywa`deploy`Ten katalog to jest strona. Podaj go dowolnym hostingiem statycznym, a aplikacja działa.Cała reszta w my/hello/ to źródła, a -/ jest generowany: .gitignore workspace'u ignoruje -*, więc wynik builda nigdy nie trafia do historii samego projektu. Do sieci jedzie z gałęzi wdrożeniowej.
Workflow pisze scaffolder, więc nowy projekt publikuje się przy pushu:1npxcreate-view-tree-lspmy/hello2gitpush.github/workflows/deploy.yml buduje moduł i wypycha my/hello/-/ na gałąź gh-pages. GitHub serwuje tę gałąź, gdy tylko w Settings → Pages → Source stoi Deploy from a branch z gh-pages — a to właśnie domyślne ustawienie repozytorium, w którym taka gałąź powstała. Jeśli adres zwraca 404, od tego ustawienia zaczynaj.Strona żyje wtedy pod https://<user>.github.io/<repo>/.
Niosą go dwie akcje, każda z paroma wejściami:1-uses:hyoo-ru/mam_build@master22with:3package:"my/hello"# katalog do zbudowania, względem workspace'u4modules:"app"# które moduły w środku56-uses:hyoo-ru/gh-deploy@v4.4.17if:github.ref=='refs/heads/main'8with:9folder:"my/hello/app/-"mam_build rozwija wokół twojego pakietu workspace MAM, zamienia tokeny $name z kodu na repozytoria, w których te nazwy mieszkają, i buduje. Nie potrzebuje ani lockfile'a, ani kroku npminstall: listą zależności jest rejestr w .meta.tree, jak opisuje Struktura projektu.gh-deploy commituje zbudowany katalog na gh-pages. target-folder kładzie go w podkatalogu zamiast w korzeniu — tak powstaje podgląd gałęzi:1-name:Deployfeaturebranch2if:startsWith(github.ref,'refs/heads/feature/')3uses:hyoo-ru/gh-deploy@v4.4.14with:5folder:"my/hello/app/-"6target-folder:${{github.ref_name}}Edytuj tę stronę na GitHubieCzy to było pomocne?TakNiePoprzedniaTestowanieNastępnaRozwiązywanie problemówNa tej stronieCo właściwie wdrażaszKrótkoCo robi workflowJeden plik, którego wdrożenie potrzebujePliki, którym miejsce w korzeniu stronyGłębokie linki na hostingu statycznymSprawdzić przed pushemNie tylko GitHub PagesType to search the documentation.