Sök…


Anmärkningar

Angular (vanligtvis benämnd " Angular 2+ " eller " Angular 2 ") är ett TypeScript- baserat öppet källkodsprogram med front-end ledd av Angular Team på Google och av en grupp av individer och företag för att adressera alla delar av utvecklarens arbetsflöde medan man bygger komplexa webbapplikationer. Angular är en komplett omskrivning från samma team som byggde AngularJS . ¹

Ramverket består av flera bibliotek , av vilka några är kärnor ( @ vinkel / kärna till exempel) och några valfria ( @ vinkel / animationer ).

Du skriver Angular-applikationer genom att komponera HTML- mallar med Angularized markup, skriva komponentklasser för att hantera dessa mallar, lägga till applikationslogik i tjänster och boxningskomponenter och tjänster i moduler .

Sedan startar du appen genom att starta om rotmodulen . Angular tar över, presenterar ditt applikationsinnehåll i en webbläsare och svarar på användarinteraktioner enligt instruktionerna du har angett.

Det är säkert att den mest grundläggande delen av utvecklingen av Angular-applikationer är komponenterna . En komponent är kombinationen av en HTML-mall och en komponentklass som styr en del av skärmen. Här är ett exempel på en komponent som visar en enkel sträng:

src / app / app.component.ts

import { Component } from '@angular/core';

@Component({
    selector: 'my-app',
    template: `<h1>Hello {{name}}</h1>`
})
export class AppComponent {
    name = 'Angular';
}

Varje komponent börjar med en @Component dekoratörsfunktion som tar ett metadataobjekt . Metadataobjektet beskriver hur HTML-mallen och komponentklassen fungerar tillsammans.

selector berättar för Angular att visa komponenten i en anpassad <my-app> -tagg i filen index.html .

index.html (inuti body taggen)

<my-app>Loading AppComponent content here ...</my-app>

Mallegenskapen definierar ett meddelande i en <h1> rubrik. Meddelandet börjar med "Hej" och slutar med {{name}} , vilket är ett vinklat interpolationsbindande uttryck. Vid körning, Vinkel ersätter {{name}} med värdet på komponentens name egendom. Interpoleringsbindning är en av många vinkelfunktioner som du kommer att upptäcka i den här dokumentationen. I exemplet, ändra komponent klassens name egendom från 'Angular' till 'World' och se vad som händer.

Detta exempel är skriven i TypeScript , en superset av JavaScript. Angular använder TypeScript eftersom dess typer gör det enkelt att stödja utvecklarens produktivitet med verktyg. Dessutom är nästan allt stöd för TypeScript och så att använda vanlig JavaScript för att skriva din applikation kommer att vara svårt . Att skriva vinkelkod i JavaScript är dock möjligt; den här guiden förklarar hur.

Mer information om arkitekturen i Angular finns här

versioner

Version Utgivningsdatum
5.0.0-beta.1 (senaste) 2017/07/27
4.3.2 2017/07/26
5.0.0-beta.0 2017/07/19
4.3.1 2017/07/19
4.3.0 2017/07/14
4.2.6 2017/07/08
4.2.5 2017/06/09
4.2.4 2017/06/21
4.2.3 2017/06/16
4.2.2 2017/06/12
4.2.1 2017/06/09
4.2.0 2017/06/08
4.2.0-rc.2 2017/06/01
4.2.0-rc.1 2017/05/26
4.2.0-rc.0 2017/05/19
4.1.3 2017/05/17
4.1.2 2017/05/10
4.1.1 2017/05/04
4.1.0 2017/04/26
4.1.0-rc.0 2017/04/21
4.0.3 2017/04/21
4.0.2 2017/04/11
4.0.1 2017/03/29
4.0.0 2017/03/23
4.0.0-rc.6 2017/03/23
4.0.0-rc.5 2017/03/17
4.0.0-rc.4 2017/03/17
2.4.10 2017/03/17
4.0.0-rc.3 2017/03/10
2.4.9 2017/03/02
4.0.0-rc.2 2017/03/02
4.0.0-rc.1 2017/02/24
2.4.8 2017/02/18
2.4.7 2017/02/09
2.4.6 2017/02/03
2.4.5 2017/01/25
2.4.4 2017/01/19
2.4.3 2017/01/11
2.4.2 2017/01/06
2.4.1 2016/12/21
2.4.0 2016/12/20
2.3.1 2016/12/15
2.3.0 2016/12/07
2.3.0-rc.0 2016/11/30
2.2.4 2016/11/30
2.2.3 2016/11/23
2.2.2 2016/11/22
2.2.1 2016/11/17
2.2.0 2016/11/14
2.2.0-rc.0 2016/11/02
2.1.2 2016/10/27
2.1.1 2016/10/20
2.1.0 2016/10/12
2.1.0-rc.0 2016/10/05
2.0.2 2016/10/05
2.0.1 2016/09/23
2.0.0 2016/09/14
2.0.0-rc.7 2016/09/13
2.0.0-rc.6 2016/08/31
2.0.0-rc.5 2016/08/09
2.0.0-rc.4 2016/06/30
2.0.0-rc.3 2016/06/21
2.0.0-rc.2 2016/06/15
2.0.0-rc.1 2016/05/03
2.0.0-rc.0 2016/05/02

Installation av vinkel med hjälp av vinkel-cli

Detta exempel är en snabb inställning av Angular och hur man skapar ett snabbt exempelprojekt.

förutsättningar:

Öppna en terminal och kör kommandona en efter en:

npm install -g typings eller yarn global add typings

npm install -g @angular/cli eller yarn global add @angular/cli

Det första kommandot installerar typbiblioteket globalt (och lägger till de typings köras till PATH). Den andra installerar @ vinkel / cli globalt och lägger till den körbara ng till PATH.

För att ställa in ett nytt projekt

Navigera med terminalen till en mapp där du vill ställa in det nya projektet.

Kör kommandona:

ng new PROJECT_NAME
cd PROJECT_NAME
ng serve

Det är det, du har nu ett enkelt exempelprojekt med Angular. Du kan nu navigera till länken som visas i terminalen och se vad den kör.

Lägga till i ett befintligt projekt

Navigera till roten till ditt nuvarande projekt.

Kör kommandot:

ng init

Detta kommer att lägga till nödvändigt byggnadsställning till ditt projekt. Filerna skapas i den aktuella katalogen så se till att köra detta i en tom katalog.

Kör projektet lokalt

För att se och interagera med din applikation medan den körs i webbläsaren måste du starta en lokal utvecklingsserver som är värd för filerna för ditt projekt.

ng serve

Om servern startade framgångsrikt bör den visa en adress där servern körs. Vanligtvis är detta:

http://localhost:4200

Utanför detta är denna lokala utvecklingsserver ansluten till Hot Module Reloading, så eventuella ändringar i html, typscript eller css kommer att göra att webbläsaren laddas om automatiskt (men kan avaktiveras om så önskas).

Generera komponenter, direktiv, rör och tjänster

Med ng generate <scaffold-type> <name> (eller helt enkelt ng g <scaffold-type> <name> ) kan du automatiskt generera vinkelkomponenter:

# The command below will generate a component in the folder you are currently at
ng generate component my-generated-component
# Using the alias (same outcome as above)
ng g component my-generated-component
# You can add --flat if you don't want to create new folder for a component
ng g component my-generated-component --flat
# You can add --spec false if you don't want a test file to be generated (my-generated-component.spec.ts)
ng g component my-generated-component --spec false

Det finns flera möjliga typer av byggnadsställningar vinkel-cli kan generera:

Ställningstyp Användande
Modul ng g module my-new-module
Komponent ng g component my-new-component
Direktiv ng g directive my-new-directive
Rör ng g pipe my-new-pipe
Service ng g service my-new-service
Klass ng g class my-new-class
Gränssnitt ng g interface my-new-interface
Enum ng g enum my-new-enum

Du kan också ersätta typnamnet med dess första bokstav. Till exempel:

ng gm my-new-module att generera en ny modul eller ng gc my-new-component att skapa en komponent.

Bygg / Bundling

När du är klar med att bygga din Angular-webbapp och du vill installera den på en webbserver som Apache Tomcat, behöver du bara köra build-kommandot antingen med eller utan produktionsflaggan. Produktion kommer att minimera koden och optimera för en produktionsinställning.

ng build

eller

ng build --prod

Titta sedan i projektkatalogen för en /dist mapp, som innehåller build.

Om du vill ha fördelarna med ett mindre produktionspaket kan du också använda Ahead-of-Time-mallen sammanställning, som tar bort mallkompilatorn från slutbyggnaden:

ng build --prod --aot

Enhetstestning

Angular tillhandahåller inbyggd enhetstestning, och varje objekt som skapas av angular-cli genererar ett grundläggande enhetstest som kan användas. Enhetstesterna skrivs med jasmine och körs genom Karma. Utför följande kommando för att börja testa:

ng test

Detta kommando kör alla tester i projektet och kommer att köra dem varje gång en källfil ändras, oavsett om det är ett test eller kod från applikationen.

Mer information finns också på: vinkel-cli github-sida

Vinkelformat "Hello World" -program

förutsättningar:

Ställa in utvecklingsmiljön

Innan vi kommer igång måste vi ställa in vår miljö.

  • Installera Node.js och npm om de inte redan finns på din maskin.

    Kontrollera att du kör åtminstone nod 6.9.x och npm 3.xx genom att köra nod -v och npm -v i ett terminal- / konsolfönster. Äldre versioner ger fel, men nyare versioner är bra.

  • Installera Angular CLI globalt med npm install -g @angular/cli .


Steg 1: Skapa ett nytt projekt

Öppna ett terminalfönster (eller Node.js-kommandotolken i windows).

Vi skapar ett nytt projekt och skelettapplikation med kommandot:

ng new my-app

Här är ng för Angular. Vi får en filstruktur något liknande.

Filstruktur_1

Filstruktur_2

Det finns många filer. Vi behöver inte oroa oss för dem alla nu.

Steg 2: Visar applikationen

Vi startar vår applikation med följande kommando:

ng serve

Vi kan använda en flagga- -open (eller helt enkelt -o ) som automatiskt öppnar vår webbläsare på http://localhost:4200/

ng serve --open

Navigera webbläsaren till adressen http://localhost:4200/ . Det ser ut så här:

Välkommen till appen

Steg 3: Redigera vår första vinkelkomponent

CLI skapade standardvinkelkomponenten för oss. Detta är rotkomponenten och den heter app-root . Man kan hitta det i ./src/app/app.component.ts .

Öppna komponentfilen och ändra titelegenskapen från Welcome to app!! till Hello World . Webbläsaren laddar om automatiskt med den reviderade titeln.

Original kod: Lägg märke till title = 'app';

Original kod

Modifierad kod: title värde ändras.

Modifierad kod

På liknande sätt är det en förändring i ./src/app/app.component.html .

Original HTML

ange bildbeskrivning här

Modifierad HTML

ange bildbeskrivning här

Lägg märke till att värdet av title från ./src/app/app.component.ts visas. Webbläsaren laddar om automatiskt när ändringarna är gjorda. Det ser ut så här.

Hej världen

För mer information om ämnet, besök den här länken här .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow