Kada se radi na izradi Angular aplikacija osim poznavanja sintakse važno je imati dobru dokumentaciju kako bi svi uključeni u proces razvoja imali uvid u ono što se i kako radi.
Osim toga, ta se dokumentacija može lijepo iskoristiti prilikom uvođenja novih članova tima koji na jednom mjestu mogu dobiti uvid u sve komponente neke Angular aplikacije.
https://compodoc.app/ služi upravo tome i na jednostavna i brz način pruža automatsku izradu osnovne dokumentacije za Angular aplikacije. Kada kažem osnovne mislim na dio koji se dobije pokretanje jedne naredbe o kojoj će biti riječi u nastavku. Osim toga moguće je dodatno prilagoditi dokumentaciju (npr. izbaciti neke dijelove aplikacije iz dokumentacije) specifičnim potrebama svakog projekta.
Kreiranje aplikacije
Naravno, prije izrade dokumentacije potrebno je imati kreiranu aplikaciju.
Za potrebu ovog blog posta iskoristit ću projekt Ionic 3 Start Theme jer se sastoji od puno različitih komponenti što će dobro doći za prikaz dokumentacije.
Sada je sve spremno za generiranje dokumentacije što se radi naredbom:
Shell
1
$npm run compodoc
Nakon izvršenja naredbe pojavit će se mapa documentation.
Dokumentaciju je moguće vidjeti na da načina. Prvi je posjetom na adresu http://127.0.0.1:8080/, a drugi je otvaranjem datoteke documentation/index.html.
Zaključak
Dokumentacija može biti puno konkretnija od ranije prikazanog.
Ako se
keyvaluepipe pokuša koristiti u nekoj od starijih verzija Angulara doći će do greške što znači da je potrebno nadograditi verziju Angulara na 6.1
The pipe ‘keyvalue’ could not be found
*Naslovna slika preuzeta sa https://orlyapps.de/blog/mobile/einfuhrung-der-neuen-keyvaluepipe-in-angular-61
Do sada sam objavio nekoliko blog postova na temu Angular Frameworka koje možete pronaći u kategoriji Razvoj, ali sam odlučio objaviti i ovaj blog post kako bi olakšao pronalazak i pregled svih blog postova vezanih upravo uz Angular Framework jednako kao što sam to napravio i za Ionic Framework, a nadam se da ću isto uskoro učiniti i za NodeJS tj. ExpressJS.
Ako niste pronašli vama zanimljiv/potreban blog post slobodno ostavite komentar s prijedlogom teme pa ću se potruditi objaviti blog post ili pronaći resurs koji će vam biti od pomoći.
Aplikacije napravljene u Angularu u startu nisu SEO optimizirane što ne znači da to tako mora i ostati. Koristeći ng-toolkit Universal moguće je kroz nekoliko koraka omogućiti da Angular aplikacija postane SEO-Friendly.
Angular CLI
Prije svega, moram provjeriti koju verziju Angular CLI-a imam instaliranu. U ovom slučaju to je verzija 6.0.8
Shell
1
$ng-v
Kreiranje Angular projekta
Novi projekt kreiram i pokrećem sljedećim naredbama
Shell
1
2
3
$ng newAngularSeo--routing
$cdAngularSeo
$ng serve-o
U web pregledniku mogu vidjeti kako projekt trenutno izgleda. Na početnoj se stranici nalazi nekoliko redova teksta.
Međutim, ako kliknem na desnu tipku miša i odaberem ‘View page source‘ mogu vidjeti sljedeće tj. niti jedan od ranije spomenutih redova teksta ovdje nije vidljiv, a trebao bi biti ako želim imati SEO optimizaciju.
Dodavanje nove komponente
Novu komponentu dodajem sljedećom naredbom
Shell
1
$nggcnova-komponenta
Nakon što je komponenta kreirana
trebam dodati i pripadajuću rutu kako bi se nova komponenta prikazala. To ću napraviti unutar datoteke app-routing.module.ts.
Međutim, koliko god ja sadržaja dodao tražilice ga neće vidjeti što znači da ga neće moći indeksirati što opet znači da moja Angular aplikacija neće biti SEO optimizirana.
SEO optimizacija
Angular CLI će i ovdje odraditi veliki dio posla umjesto mene.
Pokrećem sljedeću naredbu i nadam se da neće biti grešaka.
Shell
1
$ng add@ng-toolkit/universal
Aplikaciju ću sada pokrenuti sljedećom naredbom
Shell
1
2
$npm run build:prod
$npm run server
i odmah mogu vidjeti da je od sada moja Angular aplikacija SEO optimizirana.
Moguće je primijetiti da početna i nova stranica imaju jednak naslov
XHTML
1
<title>AngularSeo</title>
Za novu komponentu mogu napraviti poseban naslov na sljedeći način.
SEO optimizacija je daleko kompleksnije područje da bi se gore navedeni primjer mogao smatrati cjelovitim rješenjem, ali i ovo je dobar početak za svakog Angular developera.
Struktura projekta:
package.json
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
"name":"angular-seo",
"version":"0.0.0",
"scripts":{
"ng":"ng",
"start":"ng serve",
"build":"ng build",
"test":"ng test",
"lint":"ng lint",
"e2e":"ng e2e",
"build:server:prod":"ng run AngularSeo:server && webpack --config webpack.server.config.js --progress --colors",
"build:browser:prod":"ng build --prod",
"build:prod":"npm run build:server:prod && npm run build:browser:prod",