Table des matières
Qu'est-ce que le tremblement d'arbre ?
Pourquoi avons-nous besoin du Tree Shaking ?
Comment fonctionne le Tree Shaking ?
Comment utiliser les bundlers pour secouer les arbres ?
Maison interface Web js tutoriel Qu'est-ce que le tremblement d'arbre en JavaScript ?

Qu'est-ce que le tremblement d'arbre en JavaScript ?

Sep 03, 2023 pm 05:29 PM

JavaScript 中的树抖动是什么?

Qu'est-ce que le tremblement d'arbre ?

Si vous êtes un développeur JavaScript expérimenté, vous avez peut-être entendu parler de Tree Shaking. La suppression du code inutilisé d'une application est une technique courante, et elle supprime également les importations inutilisées de l'application. Ici, le terme « secouement d'arbre » a été introduit en secouant l'arbre, en supprimant les branches de code inutiles et en conservant le code requis dans le package final.

Fondamentalement, le tramage d'arborescence est utilisé pour éliminer le code invalide ou inutilisé.

Pourquoi avons-nous besoin du Tree Shaking ?

Comme nous l'avons vu dans la partie ci-dessus du tutoriel, l'arborescence est utilisée pour supprimer le code inutilisé du package d'application. La principale raison d'utiliser Tree Shaking est de réduire la taille du package JavaScript que nous fournissons au navigateur de l'utilisateur. Si la taille du package est plus petite, il se chargera plus rapidement sur le navigateur. De plus, moins de données sont nécessaires pour télécharger le bundle dans un navigateur Web, ce qui améliore les performances de l'application.

En particulier, la technologie d'arborescence est très importante dans le développement Web lors du développement de sites Web qui s'appuient sur des données dynamiques volumineuses. Si votre application Web est très volumineuse mais contient des pages Web statiques, vous n'avez pas besoin de l'arborescence, mais même si votre application est petite et charge beaucoup de données dynamiques, vous aurez besoin de l'arborescence pour supprimer le code supplémentaire.

Comment fonctionne le Tree Shaking ?

Dans cette section, nous apprendrons comment fonctionne Tree Shaking dans le développement en temps réel.

Comprenons le tremblement d'arbre avec un exemple de base.

Ici, nous avons créé trois fichiers différents et ajouté différentes fonctions JavaScript aux fichiers en fonction des noms de fichiers.

Nom du fichier – sum.js

export function sum() {
   let array = [1, 2, 3, 4, 5];
   return array.reduce((a, b) => a + b, 0);
}
Copier après la connexion

Nom du fichier – Factorial.js

export function factorial(n) {
   if (n === 0) {
      return 1;
   }
   return n * factorial(n - 1);
}
Copier après la connexion

Nom du fichier-multiply.js

export function multiply(a, b) {
   return a * b;
}
Copier après la connexion

Nom du fichier – index.js

import { sum } from './sum.js';
import { factorial } from './factorial.js';
import { multiply } from './multiply.js';
console.log(sum(2, 3));
Copier après la connexion

Dans l'exemple ci-dessus, nous avons exporté les fonctions de somme, factorielle et de multiplication à partir de différents fichiers. Après cela, nous avons importé les trois fonctions dans le fichier index.js. Ici, nous n'avons utilisé que la fonction sum() mais pas les fonctions Factorial() ou multiplie(). Par conséquent, nous avons une importation inutilisée dans le fichier index.js et nous devons la supprimer.

Dans ES5, nous utilisons « require() » pour importer des fonctions ou des modules à partir de n'importe quel autre fichier JavaScript. Par conséquent, nous pouvons importer des modules sous condition comme indiqué ci-dessous.

let isSumRequire = true;
var sum;
var multiply;
if (isSumRequire) {
   sum = require('./sum');
} else {
   multiply = require('./multiply');
}
Copier après la connexion

Ici, en fonction de la condition, nous importons le module afin qu'il soit chargé selon les exigences.

Mais dans ES6, nous ne pouvons pas importer de modules sous condition comme indiqué ci-dessous.

let isSumRequire = true;
if (isSumRequire) {
   import sum from './sum';
} else {
   import multiply from './multiply';
}
Copier après la connexion

Le code d'importation conditionnelle ci-dessus ne fonctionne pas. Par conséquent, nous devons utiliser un bundler JavaScript.

Comment utiliser les bundlers pour secouer les arbres ?

Comme nous l'avons vu dans la section ci-dessus, dans ES6, nous ne pouvons pas utiliser d'importations conditionnelles. Par conséquent, nous devons utiliser des packagers tels que webpack, Rollup, parcel, etc.

Tout d’abord, nous devons configurer le bundler pour le tremblement des arbres. Cela implique de définir le mode sur « Production » et d'ajouter des paramètres d'optimisation pour permettre le tremblement des arbres.

Par exemple, dans webpack, vous pouvez utiliser le code suivant.

module.exports = {
   mode: 'production',
   optimization: {
      usedExports: true,
   },
   // other configuration settings...
};
Copier après la connexion

Après cela, les utilisateurs doivent importer le module selon le format ES6 et doivent s'assurer que la méthode « require() » n'est pas utilisée pour l'importation.

De cette manière, les développeurs peuvent activer l'arborescence en JavaScript à l'aide de bundlers, ce qui contribue à améliorer les performances des applications en réduisant les temps de chargement sur les navigateurs Web.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer et publier mes propres bibliothèques JavaScript? Comment créer et publier mes propres bibliothèques JavaScript? Mar 18, 2025 pm 03:12 PM

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

Comment optimiser le code JavaScript pour les performances dans le navigateur? Comment optimiser le code JavaScript pour les performances dans le navigateur? Mar 18, 2025 pm 03:14 PM

L'article traite des stratégies pour optimiser les performances JavaScript dans les navigateurs, en nous concentrant sur la réduction du temps d'exécution et la minimisation de l'impact sur la vitesse de chargement de la page.

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Comment déboguer efficacement le code JavaScript à l'aide d'outils de développeur de navigateur? Comment déboguer efficacement le code JavaScript à l'aide d'outils de développeur de navigateur? Mar 18, 2025 pm 03:16 PM

L'article traite du débogage efficace de JavaScript à l'aide d'outils de développeur de navigateur, de se concentrer sur la définition des points d'arrêt, de l'utilisation de la console et d'analyser les performances.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment utiliser les cartes source pour déboguer le code JavaScript minifié? Comment utiliser les cartes source pour déboguer le code JavaScript minifié? Mar 18, 2025 pm 03:17 PM

L'article explique comment utiliser les cartes source pour déboguer JavaScript minifiée en le mappant au code d'origine. Il discute de l'activation des cartes source, de la définition de points d'arrêt et de l'utilisation d'outils comme Chrome Devtools et WebPack.

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

See all articles