Un'app $mol compilata è una cartella di file statici. Nessun server da tenere acceso, nessun processo Node da mantenere vivo, nessun adattatore da scegliere: ciò che ospita una cartella ospita l'app.
La build scrive tutto nella cartella -/ del modulo:1my/hello/-/2├── index.htmlriscrittoperilpercorsodipubblicazione3├── web.jstuttal'app,unfilesolo4├── web.css5├── web.locale=en.jsonunoperlingua6├── manifest.json7└── … tuttociò cheunadirettiva`deploy`hacopiatodentroQuella cartella è il sito. Servila da un qualsiasi host statico e l'app funziona.Tutto il resto in my/hello/ è sorgente, e -/ è generata: il .gitignore del workspace ignora -*, così il risultato della build non finisce mai nella storia del progetto. Sul web ci arriva dal ramo di deploy.
Il workflow lo scrive lo scaffolder, quindi un progetto nuovo si pubblica al push:1npxcreate-view-tree-lspmy/hello2gitpush.github/workflows/deploy.yml compila il modulo e spinge my/hello/-/ sul ramo gh-pages. GitHub lo serve appena Settings → Pages → Source è su Deploy from a branch con gh-pages — che è poi il valore predefinito di un repository in cui quel ramo esiste. Se l'URL risponde 404, è la prima impostazione da controllare.Il sito vive poi su https://<user>.github.io/<repo>/.
Lo reggono due action, e ognuna prende un paio di input:1-uses:hyoo-ru/mam_build@master22with:3package:"my/hello"# la cartella da compilare, relativa al workspace4modules:"app"# quali moduli al suo interno56-uses:hyoo-ru/gh-deploy@v4.4.17if:github.ref=='refs/heads/main'8with:9folder:"my/hello/app/-"mam_build monta il workspace MAM attorno al tuo pacchetto, risolve i token $name del codice nei repository che li contengono, e compila. Non gli serve né un lockfile né un passo npminstall: l'elenco delle dipendenze è il registro in .meta.tree, come racconta Struttura del progetto.gh-deploy committa la cartella compilata su gh-pages. target-folder la mette in una sottocartella invece che nella radice: è così che nasce l'anteprima di un ramo: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}}Modifica questa pagina su GitHubÈ stato utile?SìNoPrecedenteTestingSuccessivoRisoluzione dei problemiIn questa paginaCosa metti in produzioneIn breveCosa fa davvero il workflowUn file di cui il deploy ha bisognoFile che devono stare nella radice del sitoLink diretti su un host staticoControllare prima di pushareOltre GitHub PagesType to search the documentation.