Peu importe si vous utilisez Angular 14, 15...19 ; vos applications sont toujours sous l'égide de Zone.js. Peut-être avez-vous l'impression que vos applications Angular fonctionnent bien, mais sous le capot, avec Zone.js, Angular doit parcourir l'ensemble de l'arborescence DOM, ce qui a un impact sur les performances des applications. Cela se produit parce que Zone.js utilise des correctifs moqueurs pour écouter les événements DOM et avertir Angular lorsqu'un événement est déclenché dans l'application, car Zone.js ne connaît pas l'état de votre application ni la cause des changements, Angular doit vérifier chaque nœud. dans l'application.
Après être passé à une approche sans zone, nous pouvons utiliser ChangeDetectorRef.markForCheck (AsyncPipe), ComponentRef.setInput ou même un Signal pour réagir aux changements ou aux nouveaux hooks de cycle de vie comme afterNextRender ou `afterRender`.
Déplacement vers ZoneLess
Tout d'abord, créez un nouveau projet à l'aide de la CLI Angular 19 avec la nouvelle application my-zoneless-app :
ng new my-zoneless-app ✔ Which stylesheet format would you like to use? Sass (SCSS) [ https://sass-lang.com/documentation/syntax#scss ] ✔ Do you want to enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering)? no CREATE my-zoneless-app/README.md (1476 bytes) CREATE my-zoneless-app/.editorconfig (314 bytes) CREATE my-zoneless-app/.gitignore (587 bytes) CREATE my-zoneless-app/angular.json (2800 bytes) CREATE my-zoneless-app/package.json (1046 bytes) CREATE my-zoneless-app/tsconfig.json (915 bytes)
Supprimez Zone.js de votre projet en exécutant la commande npm uninstall zone.js.
npm uninstall zone.js
Modifiez votre fichier angulaire.json pour supprimer zone.js et zone.js/testing des deux afin de le supprimer de la build. Les projets qui utilisent le fichier polyfills.ts explicite doivent supprimer l'importation 'zone.js' ; et importez 'zone.js/testing' ; à partir du fichier.
Pour activer notre angulaire sans zonejs, ouvrez le fichier app.config.ts, dans les sections fournisseurs, supprimez provideZoneChangeDetection({ eventCoalescing: true }) et ajoutez provideExperimentalZonelessChangeDetection()
Notez que provideExperimentalZonelessChangeDetection est expérimental
Le app.config ressemble à :
import {ApplicationConfig, provideExperimentalZonelessChangeDetection, provideZoneChangeDetection} from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideExperimentalZonelessChangeDetection(), provideRouter(routes)] };
Enregistrez vos modifications en cours d'exécution pour servir tada !! notre application fonctionne comme avant mais sans NgZone ! ?
C'est parfait, mais je veux peut-être créer un mode sans zone par défaut. Pas de soucis; la CLI angulaire vous permet de le faire avec un drapeau.
Créer une application sans zone par défaut ?
Créez une application sans zone directement à l'aide de la CLI angulaire, créez un nouveau projet avec l'indicateur --experimental-zoneless :
ng new fastweb --experimental-zoneless
L'indicateur --experimental-zoneless configure un projet sans zone prêt à l'emploi, en le configurant pour qu'il fonctionne sans zones angulaires.
Malheureusement, mais dans Angular 19.0.1, nous devons supprimer manuellement le package "zone.js" en exécutant npm uninstall zonejs
Après cela, nous sommes prêts à créer des applications sans zone dans Angular 19 !
Résumer
Nous avons appris comment supprimer les applications existantes zone.js ou en créer par défaut à l'aide de l'indicateur CLI. J'espère que vous commencerez à créer vos applications sans ZoneJS. ?
Code Source : https://github.com/danywalls/zoneless-angular-app
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

Des fonctions JavaScript simples sont utilisées pour vérifier si une date est valide. fonction isValidDate (s) { var bits = s.split ('/'); var d = new Date (bits [2] '/' bits [1] '/' bits [0]); return !! (d && (d.getMonth () 1) == bits [1] && d.getDate () == Number (bits [0])); } //test var

Cet article explique comment utiliser jQuery pour obtenir et définir les valeurs de marge et de marge intérieures des éléments DOM, en particulier les emplacements spécifiques de la marge extérieure et des marges intérieures de l'élément. Bien qu'il soit possible de définir les marges intérieures et extérieures d'un élément à l'aide de CSS, l'obtention de valeurs précises peut être délicate. // installation $ ("div.header"). CSS ("marge", "10px"); $ ("div.header"). css ("padding", "10px"); Vous pourriez penser que ce code est

Cet article explore dix onglets jQuery exceptionnels et accordéons. La principale différence entre les onglets et les accordéons réside dans la façon dont leurs panneaux de contenu sont affichés et cachés. Plongeons ces dix exemples. Articles connexes: 10 plugins de l'onglet jQuery

Découvrez dix plugins jQuery exceptionnels pour élever le dynamisme et l'attrait visuel de votre site Web! Cette collection organisée offre diverses fonctionnalités, de l'animation d'image aux galeries interactives. Explorons ces outils puissants: Related Posts: 1

HTTP-Console est un module de nœud qui vous donne une interface de ligne de commande pour exécuter les commandes HTTP. C'est idéal pour le débogage et voir exactement ce qui se passe avec vos demandes HTTP, qu'elles soient faites contre un serveur Web, Web Serv

Ce tutoriel vous montre comment intégrer une API de recherche Google personnalisée dans votre blog ou site Web, offrant une expérience de recherche plus raffinée que les fonctions de recherche de thème WordPress standard. C'est étonnamment facile! Vous pourrez restreindre les recherches à Y

L'extrait de code jQuery suivant peut être utilisé pour ajouter des barres de défilement lorsque le contenu DIV dépasse la zone de l'élément de conteneur. (Pas de démonstration, veuillez le copier directement sur Firebug) // d = document // w = fenêtre // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ('# c


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

Dreamweaver Mac
Outils de développement Web visuel
