Programmering

Hva er nytt i Angular 9.1

Angular 9.1 har kommet, med forbedringer for ytelse og samtidighet til ngcc-kompatibilitets kompilatoren. Ivy-kompilasjons- og gjengivelsesrørledningen fikk også oppmerksomhet, noe som resulterte i bedre ytelse.

Angular 9.1, publisert 25. mars, følger utgivelsen Angular 9.0, som ble tilgjengelig som en produksjonsutgivelse 6. februar 2020. Versjonen 9.0-oppgraderingen til det populære TypeScript-baserte rammeverket bytter applikasjoner til Ivy-kompilatoren og kjøretid som standard.

Ivy tilbyr raskere, AOT-kompilering, samt mindre buntstørrelser, raskere testing og bedre feilsøking. Forbedret CSS-klasse og stilbinding er også omtalt i Ivy, sammen med forbedringer i typekontroll, byggfeil og byggetider. Også en del av Angular 9 erng oppdatering, som lover å være et mer pålitelig og informativt verktøy for oppdatering av applikasjoner og deres avhengighet.

Angular gir avhengighetsinjeksjon, noe som er spesielt nyttig for å samle datatjenester for applikasjoner, sammen med bruk av en HTML-mal for å komponere komponenter. I Angular skriver utviklere fortsatt komponenter med en HTML-komponent som kobles til TypeScript-kode for viktige deler av programmet.

Hvor laster du ned Angular 9.1 eller tidligere utgivelser

Du kan laste ned Angular-produksjonsutgivelsen fra GitHub samt betautgivelser. En Angular-oppdateringsguide er publisert, sammen med en guide til oppgradering til Angular 9.

Nye funksjoner i Angular 9.1

  • Ytelsesoptimalisering for ngcc, samt forbedringer av samtidighet og pålitelighet for bruk av ngcc monorepo. NPM-postinstallasjonsskriptet anbefales ikke lenger. Med ngcc blir asynkroniseringsbehandling midlertidig stoppet hvis en annen prosess har låsefilen. Også med ngcc kan en kildekartflatningsfunksjon laste opp et tre med kildefiler koblet til kildekart og flate dem ut til et enkelt kildekart. Dette kildekartet kartlegges direkte fra den endelige genererte filen til de originale kildene som de mellomliggende kildekartene refererer til.
  • TypeScript 3.8 støttes.
  • Internasjonalisering, via i18n, støtter nå RTL-lokalinformasjon.
  • Ivy-ytelsen er forbedret ved å fjerne det ubrukte hendelsesargumentet i lytterinstruksjonene. Tidligere genererte Ivy en $ begivenhet argument, selv om det ikke ble brukt av lytteruttrykkene. Dette kan føre til unødvendig bytegenerering. En kompatibilitetsrettelse for sjekk for Ivy-mal er også inkludert.

Nye funksjoner i Angular 9.0

Bortsett fra å gjøre Ivy som standard, inkluderer Angular 9.0 følgende nye funksjoner og forbedringer:

  • Nye alternativer for gitt i, for å skape en @Injiserbar tjeneste, inkluderer plattform, som gjør en tjeneste tilgjengelig i en spesiell singleton-plattforminjektor som deles av alle applikasjoner på en side, og noen, som gir en unik forekomst i hver modul som injiserer tokenet.
  • Komponentseler for å sikre at enhetstestene er korrekt innrettet og mindre sprø. Implementeringsdetaljer blir abstrahert bort.
  • Nye komponenter som muliggjør inkludering av YouTube- og Google Maps-funksjoner i applikasjoner.
  • TypeScript 3.7 og TypeScript 3.6 støttes.
  • Ytelsen er forbedret for eventListeners.
  • Standardvalutakoden i CurrencyPipe er nå konfigurerbar.
  • For å forbedre ytelsen til Ivy-rendereren fjernes gjentatte globale tilstandstilganger fra i18n-instruksjonene når informasjonen allerede er tilgjengelig. Ivy får også et ytelsesløft fra fjerning av ekstra SafeDetection kode. Og @ angular / localize-pakken kan legges til et Angular CLI-prosjekt via ng legge til.
  • Også for Ivy-rendereren tilbys bedre feilmeldinger for ukjente komponenter. I tillegg er det lagt til et nytt flagg lokaliser-oversett som gjør det mulig å spesifisere kildens lokalitet.
  • For å forbedre ytelsen i kjernen blir desinfisering av treet i Ivy-rendereren.
  • Også i Ivy er sjekken for maltype endret for å produsere ts.Diagnostics. Dette reparerer et designproblem der Angular-kompilatoren har produsert både native TypeScript-diagnostikk og sitt eget interne diagnostikkformat, noe som ikke har vært optimalt.
  • Også for kjernen legger Angular til et nytt migrasjonsskjema, i henhold til den gitte migreringsplanen.
  • De NgFormSelectorWarning velgeren er fjernet.
  • For ngcc (kompilator for vinkelkompatibilitet) er det lagt til en migrering for udekorerte barneklasser.
  • Det er gjort en rekke feilrettinger for Ivy, kompilatoren, kjernen, språktjenesten, ngcc og Bazel.

Nye funksjoner i Angular 8.2

Utgitt i august 2019 inkluderer Angular versjon 8.2:

  • For å forbedre kompilatorytelsen unngås kopiering fra prototypen mens du kloner et objekt. Dette oppdaterer klonfunksjonen til ApplySourceSpanTransformer-klassen, der for-in-sløyfen ble brukt, noe som resulterte i kopiering fra prototype til egne egenskaper, og forbruker mer minne.
  • TypeScript 3.5-støtte.
  • Kompilering av mål som brukes av Kythe-verktøy med Ivy-rendereren. Dette eliminerer problemer med kryssreferanser til transitive avhengigheter som ikke genereres på grunn av hvordan slike avhengigheter lastes av den eldre kompilatoren.
  • Støtte for $ element i oppgradert komponent mal og templateURL funksjoner.
  • For Bazel kan brukere nå sende en egendefinert Bazel CompilerHost for en vinkelkompilering, som støtter overstyringen av TypeScript-kompilatorvert.
  • En rekke feilrettinger, inkludert økning av minnegrensen på ngc under Bazel fra 2 GB til 4 GB.

Nye funksjoner i Angular 8.1

  • Testhjelpere er gitt for oppgraderings- / statisk bibliotek som kobler opp Angular- og AngularJS-injektorer uten behov for en full oppstartsstropp til en hybridapp.
  • Avvikling av integrasjonen med Web Tracing Framework, som Angular tidligere hadde støttet for ytelsestesting. Angular-utviklingsteamet bemerket at integrasjonen ikke har blitt opprettholdt og sannsynligvis ikke fungerer for de fleste Angular-applikasjoner i dag.
  • Implementering av definitionAndBoundSpan, som nå foretrekkes fremfor definisjon. Gjennomføringen av definisjon har blitt omformet og forenklet.
  • Avvikling av API-er for plattform-webarbeider. Inkluderingen av denne støtten hadde vært eksperimentell, for å prøve å kjøre en hel applikasjon i en webarbeider, for nettinnhold å kjøre bakgrunnsskript. Vinkelforsvarere prøver ikke lenger å gjøre dette.

Angular 8.1 tilbyr også feilrettinger for Bazel-bygningsverktøyet samt Angular-kjernen og ruteren.

Nye funksjoner i Angular 8.0

Forbedringer i Angular 8, utgitt i mai 2019, inkluderer følgende:

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