Programmering

Hvad er nyt i Angular 9.1

Angular 9.1 er ankommet med forbedringer af ydeevne og samtidighed til ngcc-kompatibilitetscompileren. Ivy-kompilations- og gengivelsesrørledningen fik også opmærksomhed, hvilket resulterede i bedre ydeevne.

Angular 9.1, der blev offentliggjort den 25. marts, følger versionen Angular 9.0, som blev tilgængelig som en produktionsudgivelse den 6. februar 2020. Opgraderingen til version 9.0 til den populære TypeScript-baserede ramme skifter applikationer til Ivy-kompilatoren og runtime som standard.

Ivy tilbyder hurtigere, AOT-kompilering samt mindre bundstørrelser, hurtigere test og bedre fejlretning. Forbedret CSS-klasse- og stilbinding findes også i Ivy sammen med forbedringer i typekontrol, byggefejl og byggetider. Også en del af Angular 9 erng opdatering, som lover at være et mere pålideligt og informativt værktøj til opdatering af applikationer og deres afhængighed.

Angular giver afhængighedsinjektion, hvilket er særligt nyttigt til samling af datatjenester til applikationer sammen med brug af en HTML-skabelon til komponering af komponenter. I Angular komponerer udviklere stadig komponenter med en HTML-komponent, der opretter forbindelse til TypeScript-kode for vigtige dele af programmet.

Hvor downloades Angular 9.1 eller tidligere udgivelser

Du kan downloade Angular-produktionsudgivelsen fra GitHub såvel som betaudgivelser. Der er udgivet en Angular-opdateringsvejledning sammen med en guide til opgradering til Angular 9.

Nye funktioner i Angular 9.1

  • Ydeevneoptimeringer for ngcc samt forbedringer af samtidighed og pålidelighed for ngcc monorepo-brugssager. NPM-scriptet efter installation anbefales ikke længere. Med ngcc stoppes asynkronisering, hvis en anden proces har låsefilen. Også med ngcc er en kildeoverfladefunktion i stand til at indlæse et træ med kildefiler, der er forbundet med kildekort, og flade dem ud i et enkelt kildekort. Dette kildekort kortlægges direkte fra den endelige genererede fil til de originale kilder, der refereres til af de mellemliggende kildekort.
  • TypeScript 3.8 understøttes.
  • Internationalisering via i18n understøtter nu RTL-lokaloplysninger.
  • Ivy-ydeevne er forbedret ved at fjerne det ubrugte begivenhedsargument i lytterinstruktionerne. Tidligere genererede Ivy en $ begivenhed argument, selvom det ikke blev brugt af lytterens udtryk. Dette kan føre til unødvendig bytegenerering. Der er også inkluderet en kompatibilitetsrettelse til Ivy-skabelontjek.

Nye funktioner i Angular 9.0

Bortset fra at gøre Ivy til standard, inkluderer Angular 9.0 følgende nye funktioner og forbedringer:

  • Nye muligheder for forudsatIn, for at skabe en @Injicerbar service, inkluderer platform, der gør en service tilgængelig i en særlig singleton platforminjektor, der deles af alle applikationer på en side, og nogen, som giver en unik instans i hvert modul, der injicerer tokenet.
  • Komponent seler for at sikre, at test af enheder er korrekt afgrænset og mindre skøre. Implementeringsoplysninger er abstrakt væk.
  • Nye komponenter, der muliggør inkludering af YouTube- og Google Maps-funktioner i applikationer.
  • TypeScript 3.7 og TypeScript 3.6 understøttes.
  • Performance er blevet forbedret for eventListeners.
  • Standardvalutakoden i CurrencyPipe kan nu konfigureres.
  • For at forbedre Ivy-gengivelsens ydeevne fjernes gentagne globale statstilgange fra i18n-instruktionerne, når oplysningerne allerede er tilgængelige. Ivy får også et ydeevne boost fra fjernelse af ekstra SafeDetection kode. Og pakken @ angular / localize kan føjes til et Angular CLI-projekt via ng tilføj.
  • Også til Ivy-gengiveren tilbydes bedre fejlmeddelelser for ukendte komponenter. Derudover er der tilføjet et nyt flag til lokaliser-oversæt der gør det muligt at specificere kildens lokalitet.
  • For at forbedre ydeevnen i kernen bliver desinficering trærystelig i Ivy-rendereren.
  • Også i Ivy er skabelontypekontrol blevet ændret til at producere ts.Diagnostics. Dette forbedrer et designproblem, hvor Angular-kompilatoren har produceret både native TypeScript-diagnostik og sit eget interne diagnostikformat, hvilket ikke har været optimalt.
  • Også for kernen tilføjer Angular et nyt migrationsskema i henhold til den givne migrationsplan.
  • Det NgFormSelectorWarning vælgeren er fjernet.
  • For ngcc (Angular compatibility compiler) er der tilføjet en migrering til ikke-dekorerede underklasser.
  • Der er foretaget en række fejlrettelser til Ivy, compileren, core, sprog-service, ngcc og Bazel.

Nye funktioner i Angular 8.2

Udgivet i august 2019 inkluderer Angular version 8.2:

  • For at forbedre kompilatorens ydeevne undgås kopiering fra prototypen under kloning af et objekt. Dette opdaterer klonfunktionen i klassen ApplySourceSpanTransformer, hvor for-in-sløjfen blev brugt, hvilket resulterede i kopiering fra prototype til egne egenskaber og forbruger mere hukommelse.
  • TypeScript 3.5 support.
  • Kompilering af mål, der bruges af Kythe-værktøjer med Ivy-rendereren. Dette eliminerer problemer med krydsreferencer til transitive afhængigheder, der ikke genereres, på grund af hvordan sådanne afhængigheder indlæses af den ældre kompilator.
  • Støtte for $ element i opgraderet komponent skabelon og skabelonURL funktioner.
  • For Bazel kan brugerne nu videregive en brugerdefineret Bazel CompilerHost til en vinkelkompilering, der understøtter tilsidesættelsen af ​​TypeScript-kompilatorværten.
  • Et antal fejlrettelser, herunder forøgelse af hukommelsesgrænsen på ngc under Bazel fra 2 GB til 4 GB.

Nye funktioner i Angular 8.1

  • Testhjælpere leveres til opgraderings- / statisk bibliotek, der tilslutter Angular og AngularJS-injektorer uden behov for en fuld bootstrap til en hybrid-app.
  • Forældelse af integrationen med Web Tracing Framework, som Angular tidligere havde støttet til præstationstest. Angular-udviklingsteamet bemærkede, at integrationen ikke er opretholdt og sandsynligvis ikke fungerer for de fleste Angular-applikationer i dag.
  • Gennemførelse af definitionAndBoundSpan, hvilket nu foretrækkes frem for definition. Gennemførelsen af definition er blevet ombygget og forenklet.
  • Forældelse af platform-webworker API'erne. Inkluderingen af ​​denne support havde været eksperimentel, for at forsøge at køre en hel applikation i en webarbejder, for webindhold til at køre baggrundsscript. Vinkelformændere forsøger ikke længere at gøre dette.

Angular 8.1 tilbyder også fejlrettelser til Bazel build-værktøjet såvel som Angular core og routeren.

Nye funktioner i Angular 8.0

Forbedringer i Angular 8, der blev udgivet i maj 2019, inkluderer følgende:

$config[zx-auto] not found$config[zx-overlay] not found