Eine gebaute $mol-App ist ein Ordner mit statischen Dateien. Kein Server, der laufen muss, kein Node-Prozess, den man am Leben hält, kein Adapter, den man auswählt: was einen Ordner hostet, hostet die App.
Der Build schreibt alles in den Ordner -/ des Moduls:1my/hello/-/2├── index.htmlaufdenAuslieferungspfadumgeschrieben3├── web.jsdieganzeApp,eineDatei4├── web.css5├── web.locale=en.jsoneineproSprache6├── manifest.json7└── … alles,waseine`deploy`-DirektivehineinkopierthatDieser Ordner ist die Website. Von jedem statischen Host ausgeliefert, läuft die App.Alles andere in my/hello/ ist Quellcode, und -/ ist generiert: die .gitignore des Workspace ignoriert -*, also landet das Build-Ergebnis nie in der Historie des Projekts selbst. Ins Netz kommt es über den Deploy-Branch.
Den Workflow schreibt der Scaffolder, also veröffentlicht ein neues Projekt beim Push:1npxcreate-view-tree-lspmy/hello2gitpush.github/workflows/deploy.yml baut das Modul und pusht my/hello/-/ in den Branch gh-pages. GitHub liefert diesen Branch aus, sobald unter Settings → Pages → SourceDeploy from a branch mit gh-pages steht — und genau das ist die Voreinstellung eines Repositorys, in dem ein solcher Branch existiert. Antwortet die URL mit 404, ist das die erste Einstellung, die man prüft.Die Website liegt dann unter https://<user>.github.io/<repo>/.
Zwei Actions tragen ihn, und beide nehmen ein paar Eingaben:1-uses:hyoo-ru/mam_build@master22with:3package:"my/hello"# der zu bauende Ordner, relativ zum Workspace4modules:"app"# welche Module darin56-uses:hyoo-ru/gh-deploy@v4.4.17if:github.ref=='refs/heads/main'8with:9folder:"my/hello/app/-"mam_build baut den MAM-Workspace um Ihr Paket herum auf, löst die $name-Tokens aus Ihrem Code in die Repositorys auf, die sie enthalten, und baut. Es braucht keine Lockfile und keinen npminstall-Schritt: die Abhängigkeitsliste ist die Registry in .meta.tree, wie Projektstruktur beschreibt.gh-deploy committet den gebauten Ordner nach gh-pages. target-folder legt ihn statt ins Wurzelverzeichnis in einen Unterordner — so entsteht eine Branch-Vorschau: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}}Diese Seite auf GitHub bearbeitenWar das hilfreich?JaNeinZurückTestenWeiterFehlerbehebungAuf dieser SeiteWas Sie ausliefernDie kurze FassungWas der Workflow tatsächlich tutEine Datei, die der Deploy brauchtDateien, die im Wurzelverzeichnis liegen müssenDeep Links auf einem statischen HostVor dem Push prüfenJenseits von GitHub PagesType to search the documentation.