Where can I find angular CLI configuration options?

Angular CLI's Kraftfulde Flag: Spar tid og optimer

29/02/2024

Rating: 4.43 (9656 votes)

Angular er et af de mest populære JavaScript-frameworks til opbygning af interaktive web-, mobil- og desktopapplikationer. Dets styrker ligger i den håndhævede adskillelse af ansvarsområder, førsteklasses TypeScript-understøttelse og en robust Kommandolinjegrænseflade (CLI). Den Angular CLI forenkler processen med at komme i gang med Angular og tager sig af kode-generering, produktionsbygninger og afhængighedshåndtering. Men en af dens mest oversete og alligevel utroligt kraftfulde funktioner er brugen af flag.

What are the features of angular CLI using command line?
Although there are so many great features provided by Angular CLI using command line like - To create component — ng new component component-name (or ng g c componentName) As name suggests of this article, this article is about great feature of Angular CLI which is flags.

Disse flag er små, men mægtige tilføjelser til dine CLI-kommandoer, som kan spare dig for utallige timer og give dig præcis kontrol over, hvordan din applikation opfører sig. Selvom der desværre ikke findes en officiel, samlet dokumentation, der lister alle Angular CLI-flag, er det vores mål med denne artikel at afdække de mest nyttige og tidsbesparende flag, du kan integrere i din daglige udvikling. Fra automatisk åbning af din browser til finjustering af din produktionsbygning, dykker vi ned i, hvordan disse flag kan strømline din Angular-rejse.

For at begynde din rejse med Angular CLI skal du først installere den. Dette er en engangsopsætning, der giver dig adgang til alle de kraftfulde kommandoer og flag. Åbn din terminal eller kommandoprompt og kør følgende kommando:

npm install -g @angular/cli

Dette installerer Angular CLI globalt på din maskine, hvilket gør den tilgængelig fra enhver mappe. For at bekræfte, at installationen var vellykket, kan du køre:

ng version

Denne kommando vil udskrive den aktuelle version af Angular CLI, Node.js, npm og dit operativsystem, hvilket bekræfter, at alt er på plads.

Når CLI er installeret, er du klar til at oprette dit første Angular-arbejdsområde (project). Et arbejdsområde er den mappe, der indeholder din Angular-applikation og dens konfigurationer. Brug ng new kommandoen efterfulgt af dit ønskede projektnavn:

ng new MitFørsteAngularApp

CLI’en vil stille dig et par initialiseringsspørgsmål, der bruges til at konfigurere dit arbejdsområde. Typisk vil du blive spurgt, om du vil tilføje Angular routing (en funktion til navigation mellem forskellige sider i din applikation) og hvilket typografi-format (CSS, SCSS, Sass, Less) du ønsker at bruge. Svar 'N' for routing, hvis du ikke har brug for det i starten, og vælg 'CSS' for simplicitet, medmindre du foretrækker et forprocessor.

Efter at have oprettet dit projekt, naviger ind i projektmappen:

cd MitFørsteAngularApp
Indholdsfortegnelse

Kør din applikation i browseren: ng serve og dets flag

En af de mest brugte Angular CLI-kommandoer er ng serve. Denne kommando starter en lokal udviklingsserver, der hoster din applikation og automatisk opdaterer browseren, hver gang du foretager ændringer i dine filer. Dette giver en utrolig hurtig feedbackcyklus, hvilket er afgørende for effektiv udvikling.

Standardporten for ng serve er 4200. Men hvad nu hvis denne port allerede er i brug, eller du ønsker at køre flere Angular-applikationer samtidigt? Her kommer flag til din undsætning:

Åbn automatisk i browseren: --open eller -o

Efter at have startet udviklingsserveren, vil du sandsynligvis gerne se din applikation med det samme. I stedet for manuelt at åbne en browser og skrive http://localhost:4200, kan du bruge --open eller dens kortere alias -o:

ng serve --open

Eller den kortere version:

ng serve -o

Denne kommando starter serveren og åbner automatisk din standardwebbrowser til applikationens URL (typisk http://localhost:4200). Dette er et lille, men effektivt tidsbesparende flag, der strømliner din udviklingsopsætning.

Kør på en anden port: --port

Hvis standardporten 4200 er optaget, eller du har brug for at køre din applikation på en specifik port, kan du bruge --port flagget:

ng serve --port 4201

Dette vil starte din applikation på port 4201, hvilket er nyttigt i miljøer med flere projekter eller specifikke netværkskonfigurationer.

Fordelene ved Angulars lokale udviklingsserver inkluderer:

  • Starter en lokal webserver på en port efter eget valg.
  • Overvåger filændringer og genindlæser browseren ved ændringer.
  • Håndterer TypeScript-kompilering og bundling automatisk.

Generering af komponenter og skabeloner: ng generate og dets flag

Angular CLI er ikke kun til at oprette og køre projekter; det er også et kraftfuldt værktøj til at generere kode. Kommandoen ng generate (eller den kortere ng g) lader dig oprette nye komponenter, services, moduler og meget mere med de korrekte filstrukturer og boilerplate-kode.

Når du genererer en komponent, oprettes der som standard separate filer for HTML-skabelonen, CSS-stilen og TypeScript-logikken. For eksempel:

ng generate component min-knap

Dette vil oprette min-knap.component.html, min-knap.component.css, min-knap.component.ts og min-knap.component.spec.ts. Men hvad nu hvis du foretrækker at have din skabelon eller stil direkte indlejret i din TypeScript-fil for mindre komponenter? Her er flagene, der hjælper dig:

Inline stil: --inline-style

For at undgå at oprette en separat CSS-fil til din komponent og i stedet inkludere stilen direkte i TypeScript-filen, brug --inline-style flagget:

ng generate component min-knap --inline-style

Dette vil tilføje styles: [] property'en til din komponentdeklaration, hvor du kan skrive dine CSS-regler som en streng.

Inline skabelon: --inline-template

På samme måde, hvis du foretrækker at inkludere HTML-skabelonen direkte i din TypeScript-fil, brug --inline-template flagget:

ng generate component min-knap --inline-template

Dette vil tilføje template: '' property'en til din komponentdeklaration, hvor du kan skrive din HTML-markup som en streng. Du kan også kombinere disse flag, hvis du ønsker både inline stil og inline skabelon:

ng generate component min-knap --inline-style --inline-template

Disse flag er særligt nyttige for små, genanvendelige komponenter, hvor det at have alt i én fil kan forbedre læsbarheden og reducere filrod.

Optimering og bygning til produktion: ng build og dets flag

Når din Angular-applikation er klar til at blive implementeret, har du brug for at bygge den til produktionsbygning. Kommandoen ng build er ansvarlig for at kompilere din applikation, pakke dine filer og optimere den til implementering. Angular bruger Webpack under motorhjelmen til at udføre disse opgaver, hvilket resulterer i en yderst optimeret og effektiv applikation.

Angular CLI tilbyder som standard to typer af builds: udviklings-builds og produktions-builds. Udviklings-builds er den uoptimerede version af din kode, der indeholder kildekort (source maps) og runtime-kontrol, som hjælper dig med at finde og undersøge problemer under udviklingen. Produktions-builds derimod, genererer optimeret kode med en række fordele:

  • Kode-minificering og bundling: Reducerer din applikations størrelse ved at fjerne unødvendige tegn og kombinere filer.
  • Tree-shaking: Fjerner ubrugte dele af importerede moduler fra de endelige builds, hvilket sparer båndbredde uden at påvirke funktionaliteten.
  • Ingen kildekort, compilerfejl og advarsler: For en mindre pakningsstørrelse.

Bygning for ydeevne: --prod og --aot

Historisk set har Angular haft separate flag for produktionsbygninger og Ahead-of-Time (AOT) kompilering. AOT-kompilering forkompilerer dine Angular HTML- og TypeScript-komponenter til effektive JavaScript-filer under byggeprocessen. Dette resulterer i hurtigere rendering og forbedret ydeevne.

I nyere versioner af Angular CLI er --prod flagget en genvej, der automatisk aktiverer AOT-kompilering og andre produktionsoptimeringer. Derfor er det den anbefalede måde at bygge til produktion på:

ng build --prod

Denne kommando vil køre en række optimeringer for at sikre, at din applikation er så hurtig og effektiv som muligt, når den implementeres.

Ændring af base-URL: --base-href

Når du implementerer din Angular-applikation til en undermappe på en server (f.eks. www.eksempel.dk/min-app/), skal du fortælle Angular, hvor roden af din applikation er. Dette gøres med --base-href flagget:

ng build --base-href=/min-app/

Dette sikrer, at alle relative stier i din applikation (som til scripts, stilarter og billeder) korrekt peger på den korrekte placering på serveren.

What are the features of angular CLI using command line?
Although there are so many great features provided by Angular CLI using command line like - To create component — ng new component component-name (or ng g c componentName) As name suggests of this article, this article is about great feature of Angular CLI which is flags.

Undgå hashing af filnavne: --output-hashing none

Som standard tilføjer Angular en unik hash til filnavnene i din bygning (f.eks. main.0deeec3d31917b111ae5.js). Dette er en funktion kaldet "cache-tømning" (cache-busting), som sikrer, at browsere henter den nyeste version af dine filer, hver gang de besøger din side, i stedet for at bruge en gammel, cachelagret version. Hash'en ændres, hver gang filens indhold ændres.

I visse scenarier, f.eks. ved implementering til specifikke CMS-systemer eller statiske filservere, ønsker du måske at undgå denne hashing. Du kan deaktivere det med --output-hashing none flagget:

ng build --prod --output-hashing none

Dette vil resultere i renere filnavne som main.js, polyfills.js osv. Vær dog opmærksom på, at dette kan føre til cache-problemer, hvis du ikke har en anden strategi for at invalidere browser-cachen.

Efter en vellykket ng build, vil du finde dine byggede filer i dist/dit-projektnavn mappen. Disse filer er klar til at blive implementeret på en webserver eller CDN.

Forståelse af Angulars Struktur: Komponenter, Skabeloner og Stilarter

For fuldt ud at udnytte Angular CLI's flag er det vigtigt at forstå den grundlæggende arkitektur af en Angular-applikation. Angular er bygget op omkring komponenter, som er de grundlæggende byggesten i din brugergrænseflade. Hver komponent består typisk af tre dele:

  • En HTML-skabelon: Definerer komponentens brugergrænseflade (hvad der vises på skærmen).
  • CSS-stilarter: Definerer komponentens udseende (hvordan den ser ud).
  • TypeScript-logik: Definerer komponentens adfærd og data.

Disse tre dele er forbundet via en @Component dekorator i TypeScript-filen, som giver metadata om komponentens selector (hvordan den bruges i HTML), dens skabelonfil og dens stilfiler. For eksempel:

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
// ... komponentens logik her
}

Angular CLI's flag for --inline-style og --inline-template påvirker direkte disse templateUrl og styleUrls egenskaber, hvilket giver dig fleksibilitet i, hvordan du organiserer dine komponentfiler.

Angular understøtter også databinding, som giver dig mulighed for at forbinde data fra din TypeScript-logik til din HTML-skabelon. For eksempel, hvis du har en variabel myNextProject = 'en portfoliowebside.' i din TypeScript-komponent, kan du vise den i HTML ved hjælp af dobbelte krøllede parenteser: {{ myNextProject }}.

Endvidere introducerer Angular direktiver som [ngStyle] og [ngClass], der lader dig dynamisk anvende CSS-stilarter eller klasser baseret på applikationens tilstand. Disse direktiver giver dig mulighed for at opbygge meget interaktive og responsive brugergrænseflader.

Ofte Stillede Spørgsmål om Angular CLI og Flag

Her er svar på nogle almindelige spørgsmål, der ofte opstår, når man arbejder med Angular CLI og dets flag:

Hvordan tjekker jeg min Angular CLI version?

Du kan nemt tjekke den installerede version af Angular CLI ved at køre følgende kommando i din terminal:

ng version

Dette vil vise en detaljeret oversigt over Angular CLI, Node.js, pakkehåndtering (npm/yarn) og operativsysteminformation.

Hvad er et Angular 'arbejdsområde'?

Et Angular 'arbejdsområde' (workspace) er den mappe, der indeholder alle filer og konfigurationer for en eller flere Angular-applikationer. Når du kører ng new, opretter du et nyt arbejdsområde. Inde i et arbejdsområde kan du have flere projekter (applikationer).

Hvorfor har mine byggede filer hashes i filnavnet (f.eks. main.xyz.js)?

Angular tilføjer automatisk unikke hashes til filnavnene under produktionsbygningen for at aktivere 'cache-tømning' (cache-busting). Dette sikrer, at når du implementerer en ny version af din applikation, vil brugernes browsere hente de opdaterede filer i stedet for at bruge en forældet, cachelagret version. Hvis du ønsker at deaktivere denne adfærd, kan du bruge --output-hashing none flagget med ng build.

Kan jeg ændre standardporten for ng serve?

Ja, absolut! Du kan bruge --port flagget til at specificere en anden port. For eksempel, for at køre din applikation på port 8080:

ng serve --port 8080

Hvad er forskellen mellem ng serve og ng build?

ng serve starter en lokal udviklingsserver, der hoster din applikation og automatisk genindlæser browseren ved filændringer. Den er designet til udviklingsformål og producerer en uoptimeret version af din kode. ng build derimod, kompilerer og optimerer din applikation til implementering i et produktionsmiljø. Den genererer statiske filer (HTML, CSS, JavaScript), som du kan uploade til en webserver eller CDN. ng build stopper ikke automatisk, når den er færdig, og den starter ikke en server.

Hvad er AOT (Ahead-of-Time) kompilering?

AOT (Ahead-of-Time) kompilering er en proces, hvor Angular HTML- og TypeScript-komponenter forkompileres til effektive JavaScript-filer under byggeprocessen, før browseren downloader og kører koden. Dette resulterer i hurtigere rendering af applikationen og bedre ydeevne, da browseren ikke behøver at kompilere koden under kørsel. Når du bruger ng build --prod, er AOT automatisk aktiveret.

Konklusion

Angular CLI er et uundværligt værktøj for enhver Angular-udvikler, og dets flag forstærker kun dets nytteværdi. Ved at mestre disse små, men kraftfulde tilføjelser til dine kommandoer, kan du automatisere gentagne opgaver, tilpasse din udviklingsoplevelse og optimere dine applikationer til ydeevne og implementering. Fra at starte din server på en bestemt port til at finjustere din produktionsbygning, giver flagene dig den kontrol, du har brug for til at arbejde mere effektivt. Vi opfordrer dig til at eksperimentere med disse flag og udforske Angular CLI's fulde potentiale for at strømline din udviklingsproces yderligere. Den tid, du investerer i at lære dem, vil betale sig mange gange i form af øget produktivitet.

Hvis du vil læse andre artikler, der ligner Angular CLI's Kraftfulde Flag: Spar tid og optimer, kan du besøge kategorien Teknologi.

Go up