[[oktatas:web:angular|< Angular]]
====== Angular Deploy ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2021, 2022
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Build =====
Készítsük el a production-t:
ng build
Elkészül egy dist/projectnev/ könyvtár.
Ha szeretne ezen változtatni, állítsa be az **outputPath** értékét az **angular.json**
fájlban.
===== Build alkönyvtárba =====
Ha a projekt végleges helye egy alkönyvtár, mondjuk meg a
--base-href vagy a
--deployUrl kapcsolóval.
Használjuk a --base-href kapcsolót:
ng build --base-href=/alkonyvtar/
==== Aktuális könyvtár ====
Ha csak szeretnénk egy könyvtárban megnyitni az index.html fájlt, az aktuális könyvtárat kell beállítani.
Az index.html fájlban utólag is beállítható az alkönyvtár.
Elég egy (.) pont is:
==== Változtatás ====
Ha megváltoztatjuk a href tartalmát:
A böngésző nem frissíti az index.html-t a ketto alapkönyvtárra.
Megoldás:
* Nyissuk meg az oldal forráskódját.
* Frissítsük az oldal forráskódját.
Élő pici példa:
* https://szit.hu/m/angular_minta/
==== A provideRouter() paraméterezése ====
Importáljuk és adjuk meg a withHashLocation() függvényt paraméterként.
import { ApplicationConfig } from '@angular/core';
import { provideRouter, withHashLocation } from '@angular/router';
import { routes } from './app.routes';
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes, withHashLocation())
]
};
===== Élő build =====
Ha a fejlesztés vége felé szeretnénk folyamatosan látni dist könyvtárban is
a változásokat használjuk a --watch kapcsolót:
ng build --watch
Egy másik terminálban telepítsünk egy webszervert, például lite-server, majd:
lite-server --baseDir="dist/projectnev"
A lite-server csak fejlesztésre tervezett szerver
===== Felhő =====
Az angular-cli támogat néhány felhőbe telepítést ((A https://angular.io/guide/deployment alapján)):
^ Szolgáltatás ^ Szükséges csomag ^
| [[https://firebase.google.com/docs/hosting|Firebase]] | @angular/fire |
| [[https://azure.microsoft.com/hu-hu/|Azure]] | @azure/ng-deploy |
| [[https://vercel.com/solutions/angular|Vercel (korábbi nevén zeit)]] | @zeit/ng-deploy |
| [[https://www.netlify.com/|Netlify]] | @netlify-builder/deploy |
| [[https://pages.github.com/|GitHub pages]] | angular-cli-ghpages |
| [[https://npmjs.com/|NPM]] | ngx-deploy-npm |
| [[https://aws.amazon.com/s3/?nc2=h_ql_prod_st_s3|Amazon Cloud S3]] | @jefiozie/ngx-aws-deploy |
===== Netlify =====
* Hozzunk lére egy hozzáférést a webhelyen.
* Futtassuk a **ng deploy** parancsot, ahol kiválasztjuk a Netfliy lehetőséget.
* Lépjünk be a netlify paranccsal: netlify login
* Csináljunk egy feltöltést: netlify deploy --prod
A következő feltöltésekhez:
* Az angular.json fájlban állítsuk be a website kulcsát, amit a Netlify weblapjáról kérhetünk le.
* Feltöltés: ng deploy --prod
===== Környezet =====
src/environments/environments.ts
export const environment = {
production: false
};
===== Cache =====
Az Angular többféle tevékenységet is tárol az ng build során, hogy később azokat
felhasználhassa. Ha szeretnénk tisztán kezdeni:
ng cache clean
===== Függelék =====
==== Példa ====
ng build --prod --output-path="dist/alkonyvtar" --deployUrl="alkonyvtar/"
==== Linkek ====
* https://angular.io/cli/cache (2022)