Sivuston julkaiseminen zip-tiedostosta
Ilman GitHubia voit julkaista sivustosi zip-tiedostosta, itse tai tekoälyavustajasi kautta. Zipiin kuuluu se, mitä repositoriossakin olisi.
Tässä oppaassa
Zip-lataus on käytössä Node.js-palveluissa, joissa Julkaise verkkosivu -lomakkeessa voi valita lähdekoodiksi Lataa zip. Muissa palveluissa sivustot julkaistaan GitHubista, kuten ohjeessa Ensimmäisen Node.js-sovelluksen julkaiseminen.
Valitse sivustoa luodessasi lähdekoodiksi Lataa zip. Uudet versiot lataat sivuston Julkaisut-sivulla. Jos tekoälyavustajasi on yhdistetty NordicHostiin, se voi tehdä tämän puolestasi.
Mitä zipiin kuuluu
Zipiin kuuluu sama kuin GitHub-repositorioon: sovelluksesi lähdekoodi ja tiedostot, joita sen rakentaminen tarvitsee.
- package.json ylimmässä kansiossa. Jos sovellus on alikansiossa, kuten monorepossa, kirjoita kansio sivuston alikansioksi, esimerkiksi /apps/web.
- Lukitustiedosto: package-lock.json, pnpm-lock.yaml, yarn.lock tai bun.lock. Ilman sitä jokainen rakennus asentaa pakettien sen päivän uusimmat versiot, eikä sivustosi välttämättä toimi kuten koneellasi.
- .env-tiedosto, jos sovelluksesi käyttää sellaista. Luemme siitä sivustosi ympäristömuuttujat, mutta emme tallenna tiedostoa koodin mukana.
- Pelkistä tiedostoista koostuva sivusto tarvitsee vain index.html-tiedoston ylimpään kansioon.
Zip saa olla enintään 200 MB. Jos koko zip on yhden kansion sisällä, sitä kansiota ei tarvitse poistaa: otamme sen pois itse.
Mitä jätetään pois
Rakennus asentaa paketit ja rakentaa sovelluksesi itse, joten näitä ei tarvita. Jätämme ne pois, jos zipissä on niitä:
- node_modules
- .git
- .next, Next.js:n rakennettu sovellus
- __MACOSX, .DS_Store ja Thumbs.db, käyttöjärjestelmän omat tiedostot
Jätä myös muut rakennetut kansiot, kuten dist ja build, pois, jos rakennus tekee ne. Mitä pienempi zip, sitä nopeammin se latautuu.
Jätä muut salaisuudet pois. Säilytämme version kaikkine tiedostoineen .env-tiedostoja lukuun ottamatta. Älä siis pakkaa muita salaisuuksia, kuten .npmrc-tiedostoa, jossa on pääsytunnus, tai yksityisiä avaimia (.pem, .key). Siirrä ne pois kansiosta ennen pakkaamista.
Näin teet zipin
Aja komento projektikansiossa. Zip tulee kansion viereen, ja node_modules, .git ja .next jäävät pois.
- Windows, PowerShell:
Get-ChildItem -Force | Where-Object Name -NotIn 'node_modules', '.git', '.next' | Compress-Archive -DestinationPath ..\sivusto.zip -Force - Windows, nopeampi suurelle projektille (PowerShell):
& "$env:SystemRoot\System32\tar.exe" -a -c -f ..\sivusto.zip --exclude=node_modules --exclude=.git --exclude=.next *. Windowsin oma tar.exe on kirjoitettu koko polulla, koska Gitin mukana tuleva tar ei osaa tehdä zipiä. - Windowsin Git Bash, jossa zip-komentoa ei ole:
powershell.exe -NoProfile -Command "Get-ChildItem -Force | Where-Object Name -NotIn 'node_modules', '.git', '.next' | Compress-Archive -DestinationPath ..\sivusto.zip -Force" - macOS ja Linux:
zip -r ../sivusto.zip . -x 'node_modules/*' '*/node_modules/*' '.git/*' '.next/*'
Voit myös pakata kansion hiirellä: Windowsissa napsauta kansiota hiiren kakkospainikkeella ja pakkaa se zip-tiedostoksi pikavalikosta, ja macOS:ssä napsauta kansiota Control-näppäin pohjassa ja valitse Pakkaa. Silloin node_modules tulee mukaan, joten zip on suurempi. Boltista, Lovablesta tai v0:sta ladattu zip käy sellaisenaan, kun siinä on package.json.
Tekoälyavustajan kanssa
Kun olet yhdistänyt tekoälyavustajan, kuten Clauden tai ChatGPT:n, NordicHost-tiliisi ja se voi ajaa komentoja koneellasi, pyydä sitä julkaisemaan projektisi zip-tiedostosta. Avustaja pakkaa projektin, lataa sen, kertoo mitä tarkistus löysi ja kysyy lupaasi ennen julkaisua. Jos avustaja ei voi ajaa komentoja, se antaa linkin, jonka kautta lataat zipin itse.
.env-tiedoston muuttujat lisää sivustollesi NordicHost, ei avustaja: avustaja saa tietää vain muuttujien nimet, ei arvoja. Muuttujia, jotka ohjaavat rakentamista tai Node.js:ää (kuten NODE_OPTIONS), ei lisätä avustajan julkaisemasta zipistä. Ne lisäät itse lataamalla .env-tiedoston sivuston Ympäristömuuttujat-sivulla.
.env-tiedostot
Otamme kaikki .env-alkuiset tiedostot pois koodista, ja niistä luetaan sivustosi ympäristömuuttujat:
- Luemme tiedostot .env, .env.production, .env.local ja .env.production.local tässä järjestyksessä. Jos sama muuttuja on useammassa, myöhemmän tiedoston arvo jää voimaan.
- Muuttuja, jota sivustollasi ei vielä ole, lisätään sivustollesi, kun julkaiset version.
- Jos sivustollasi on jo sama muuttuja eri arvolla, sivustosi arvo pidetään. Näet nämä muuttujat tarkistuksen jälkeen, ja voit ottaa tiedoston arvot käyttöön yhdellä napilla.
- Tiedostoja .env.development ja .env.test emme lue: ne ovat kehitystä ja testejä varten.
- Mallitiedostoista, kuten .env.example, emme lue arvoja. Niistä näytämme muistutuksena muuttujat, joita sivustollasi ei ole.
Itse .env-tiedostoa emme säilytä. Muuttujia muutat sivuston Ympäristömuuttujat-sivulla, jossa voit myös ladata .env-tiedoston.
Jos jokin muuttuja jää julkaisussa lisäämättä, saat siitä sähköpostin, ja Ympäristömuuttujat-sivu näyttää puuttuvat muuttujat ja syyn, kunnes ne on lisätty.
Tarkistus ennen rakennusta
Tarkistamme zipin ennen kuin mitään rakennetaan. Näet, mitä tunnistimme: kehyksen tai käynnistyskomennon, Node.js-version, paketinhallinnan ja lukitustiedoston. Jos zipiä ei voi julkaista, kerromme syyn, esimerkiksi puuttuvan package.json-tiedoston tai start-skriptin, ja mitä voit tehdä.
Versiot ja palautus
Jokainen ladattu zip on oma versionsa. Näet versiot sivuston Julkaisut-sivulla: tiedoston nimen, koon, ajan ja lataajan. Säilytämme kolme viimeisintä versiota ja käytössä olevan, joten voit palata niihin. Vanhempia versioita ei voi enää palauttaa.
Palvelusi voi ladata enintään 20 zipiä päivässä ja yhteensä 4 GB kuussa.
