Programmering

Hvad er nyt i Angular 10.1

Angular 10.1.0, en opfølgningspunktudgivelse til Angular 10, blev udgivet 2. september og bragte kompilatoren og routeren forbedringer af ydeevnen sammen med et nyt værktøj til ekstraktion af meddelelser.

Angular 10 blev generelt tilgængelig som en produktionsudgivelse den 24. juni. Den store opgradering til den Google-udviklede TypeScript-baserede ramme lægger mere vægt på forbedringer af kvalitet, værktøj og økosystem end nye funktioner.

Angular 10 er mindre end tidligere versioner af Angular. Nye funktioner inkluderer en ny datointervalvælger i Angular Material UI-komponentbiblioteket og advarsler om CommonJS-import. CommonJS-advarsler om import advarsler udviklere, når en afhængighed pakket med CommonJS kan resultere i større, langsommere applikationer, der tillader udviklere at erstatte en ECMAScript-modulpakke.

Derudover tilbyder valgfri strengere indstillinger en mere streng projektopsætning, når du opretter et nyt arbejdsområde med ng nyt, via ng nyt - strengt. Aktivering af dette flag initialiserer et nyt projekt med nye indstillinger for at forbedre vedligeholdelsesevnen, hjælpe med at fange bugs og give CLI mulighed for at foretage avancerede optimeringer på en app.

Hvor kan jeg downloade Angular 10

Du kan finde den generelle udgivelse af Angular 10 på GitHub. For at opdatere din nuværende Angular-installation kan du køre denne kommando:

ng opdatering @ vinkel / cli @ vinkel / kerne

Nye funktioner i Angular 10.1.0

Angular 10.1.0-udgivelsen, der er tilgængelig på GitHub, inkluderer følgende nye muligheder og forbedringer:

  • For at forbedre ydeevnen i compiler-cli har Angular 10.1 en løsning til præstationsregressioner, der påvirker inkrementelt genbrug af programmer.
  • For router ydeevne skal priorisedGuardValue operatøren anvendes til at optimere CanLoad vagter.
  • ProgramBasedEntryPointFinder vil genbruge EntryPointManifest at indlæse indgangsafhængigheder, når det er muligt, hvilket undgår at skulle parse dem igen ved hver påkaldelse af ngcc.
  • Et nyt værktøj til ekstraktion af beskeder understøttes, som til sidst vil blive integreret i CLI.
  • Til Bazel-byggeværktøjet LinkabablePackageInfo tilføjes til ng-modul regel, så linkeren kan linke korrekt ng_module mål i Node.js runtime-handlinger.
  • Mere indsigt tilføjes den diagnostik, der er produceret for statiske evalueringsfejl.
  • Der er tilføjet en mulighed for absolut URL HTTP-understøttelse.
  • TypeScript 4.0 support er blevet føjet til compileren.
  • canparse () diagnostik udsættes.
  • Ydelsesforbedringer er blevet foretaget på routeren, formularerne, compileren CLI og ngcc-kompilatorkompatibilitetsværktøjet.
  • Ændring af livscyklus kroge kan foretages når som helst før bootstrap.
  • Der tilbydes et antal store rettelser til kerne, router og andre dele af Angular.

Nye funktioner i Angular 10

Nøglefunktioner i Angular 10 inkluderer følgende:

  • TSlib, runtime-biblioteket til TypeScript, der indeholder hjælperfunktioner, er blevet opdateret til TSlib 2.0. TSLint statiske analyseværktøj til TypeScript er blevet opdateret til TSLint 6.
  • En kompilatorgrænseflade er tilføjet, der omslutter den faktiske ngtsc-kompilator. Den sprogtjenestespecifikke kompilator administrerer flere typecheck-filer ved hjælp af projektgrænsefladen og opretter Scriptinfos efter behov.
  • Browserkonfigurationen til nye projekter er blevet opdateret for at udelukke ældre, mindre anvendte browsere. Support er udfaset til Internet Explorer 9, Internet Explorer 10 og Internet Explorer Mobile.
  • Angular Package Format inkluderer ikke længere ESM5- eller FESM5-pakker, hvilket sparer download- og installationstid, når det kører garn eller npm installation til kantede pakker og biblioteker.
  • For kompilatoren er der tilføjet navnespænd for egenskabslæsning og metodeopkald.
  • EntryPointFinder, en programbaseret indgangsfinder, er tilføjet, der kan udsås fra importen i et program specificeret af en tsjconfig.json-fil. Dette forventes at være hurtigere end DirectoryWalkerEntryPointFinder når det aktive program kun importerer en lille del af de installerede indgangspunkter.
  • Autofuldførelse fjernes fra HTML-enheder, f.eks & amp, på grund af tvivlsom værdi og et præstationsproblem.
  • Eksplicit kortlægning eksponeres fra lukning til devmode-filer. Denne funktion er rettet mod udviklingsværktøjer, der skal oversætte produktionsopbyggede input til deres devmode-ækvivalenter.
  • I en brudende ændring er generisk gjort obligatorisk for ModuleWithProviders. En generisk type parameter er påkrævet for ModuleWithProviders mønster til at arbejde med Ivy-kompilerings- og gengivelsesrørledningen, men før denne forpligtelse tillod View Engine, at den generiske type blev udeladt. Hvis en udvikler bruger ModuleWithProviders uden en generisk type opdateres en version 10-migration koden. Men hvis en udvikler bruger View Engine og afhængigt af et bibliotek, der udelader den generiske type, udstedes der en buildfejl. I dette tilfælde hjælper ngcc ikke, og migrationen dækker kun applikationskode. Biblioteksforfatteren skal kontaktes for at rette deres bibliotek. Som en løsning kan skipLibChecks indstilles til falsk i tsconfig eller opdatering af en app til kun at bruge Ivy.
  • TypeScript 3.9 er nu præsenteret, hvor understøttelse af TypeScript 3.8 er blevet fjernet. Dette er en brudende forandring. TypeScript 3.6 og TypeScript 3.7 understøttes heller ikke længere.
  • Forbedring af typekontrol af ydeevne er blevet foretaget til compiler-cli.
  • For at forbedre ydeevnen beregnes beregningen af basePaths er blevet doven, så der udføres kun arbejde, hvis det er nødvendigt i TargetedEntryPointFinder. Tidligere basePaths blev beregnet, hver gang søgeren blev instantificeret, hvilket var spild af indsats i det tilfælde, hvor det målrettede indgangspunkt allerede var blevet behandlet.
  • Fletning af flere oversættelsesfiler understøttes. Tidligere var kun en oversættelsesfil pr. Landestandard tilladt. Nu kan brugere angive flere filer pr. Landestandard, og transaktionerne fra hver fil flettes med messaging-id.
  • Async-låsetimeout kan konfigureres. Dette tilføjer understøttelse af filen ngcc.config.js til indstilling af forsøg på forsøg og forsøg forsinkelse indstillinger for AsyncLocker. En integrationstest tilføjer en ny kontrol for en timeout og bruger ngcc.config.js til at reducere timeout-tiden for at forhindre, at testen tager for lang tid.
  • I en brudende ændring bliver advarsler om ukendte elementer nu logget som fejl. Selvom dette ikke bryder en app, kan det muligvis udløse værktøjer, der forventer, at der ikke logges noget via console.error.
  • I en anden ændring, enhver resolver, der vender tilbage TOM annullerer navigationen. For at tillade navigering at fortsætte skal udviklere opdatere resolverne for at opdatere en værdi, f.eks standard! tom.
  • Tilføjelse af afhængighedsinformation og ng-indholdsvalgere til metadata. Denne foreslåede kompilatorfunktion vil give yderligere metadata, der er nyttige for værktøjer såsom Angular Language Service, der giver mulighed for at give forslag til direktiver / komponenter defineret i biblioteker.
  • Ydelsesforbedringer opnået ved at reducere størrelsen på entrypoint-manifestet og en cacheteknik i manifestet. Derudover foretages caching af afhængigheder i indgangsmanifestet og læses derfra i stedet for at blive beregnet hver gang. Tidligere, selvom et indgangspunkt ikke havde brug for behandling, ville ngcc (Angular Ivy-kompatibilitetscompilator) analysere indgangspunktsfilerne for at beregne afhængigheder, hvilket ville tage meget tid for large_node-moduler.
  • For at forbedre ngcc-ydeevnen er øjeblikkelig rapportering af en forældet låsefil nu tilladt. Derudover lagres en cachelagret kopi af en parset tsconfig-fil, der kan genbruges, hvis tsconfig-stien er den samme.
  • I en brudende ændring er logikken opdateret vedrørende formatering af dagperioder, der krydser midnat. Når du formaterer en tid med b eller B formatkode, håndterede den gengivne streng ikke korrekt dagsperioder, der strakte sig over dage. I stedet faldt logikken tilbage til standardtilfældet for ER. Denne logik er blevet opdateret, så den matcher tidspunkter inden for en dagsperiode, der strækker sig over midnat, så den gengiver nu korrekt output, f.eks. om natten i tilfælde af engelsk. Programmer, der bruger en af ​​dem formatDate () eller DatePipe eller den b ogB formatkoder påvirkes af denne ændring.
  • For routeren er CanLoad vagt nu kan vende tilbage Urltree. EN CanLoad vagt vender tilbage Urltree annullerer den aktuelle navigation og omdirigeringer. Dette matcher den aktuelle adfærd, der er tilgængelig for Kan aktivere vagter, der også er blevet tilføjet. Dette påvirker ikke forudindlæsningen. EN CanLoad beskytter blokerer enhver forudindlæsning eventuelle ruter med en CanLoad vagt vil ikke blive forudindlæst, og vagterne vil ikke blive henrettet som en del af forudindlæsning.
  • Formering af den korrekte værdispænding i en ExpressionBinding af et mikrosyntaks-udtryk til ParsedProperty, hvilket igen vil sprede spændet til skabelon-AST'erne (både VE og Ivy). Dette forslag er også til kompilatoren.
  • I en rettelse til kernen tilføjes logik til udekoreret klassemigration for at dekorere afledte klasser af udekorerede klasser, der bruger kantede funktioner.
  • I en brudende ændring vil Urlmatchers type afspejle, at den altid kunne returnere nul.
  • For servicearbejderen er der sat en løsning på en situation, hvor der var en chance for, at servicearbejderen aldrig registrerer sig, når der er en langvarig opgave eller tilbagevendende timeout.
  • Der er foretaget et antal fejlrettelser, herunder kompilatoren, der undgår udefinerede udtryk i et huligt array, og kernen undgår en migrationsfejl, når et ikke-eksisterende symbol importeres. Der er også en løsning i kernen for Terser-inline-bug. En anden fejlrettelse identificerer korrekt moduler, der er påvirket af tilsidesættelser i TestBed.
  • Angular NPM indeholder ikke længere visse jsdoc-kommentarer, der understøtter Closure Compiler's avancerede optimeringer. Dette er en brudende forandring. Støtte til lukningskompilator i pakker har været eksperimentel og brudt i nogen tid. Enhver, der bruger Closure Compiler, er sandsynligvis bedre tjent med at bruge Angular-pakker bygget fra kilder direkte i stedet for at forbruge versioner, der er offentliggjort på NPM. Som en midlertidig løsning kan brugere overveje at bruge deres nuværende build-pipeline med lukningsflag --compilation_level = ENKEL. Dette flag vil sikre, at byggeripipelinen producerer artefakter, der kan bygges, til en pris af øget nyttelaststørrelse på grund af avancerede optimeringer, der er deaktiveret.
$config[zx-auto] not found$config[zx-overlay] not found