Table des matières
Rationalisation du chargement de configuration
Organisation de configuration avancée: regroupement par fonctionnalité
Conclusion
Maison interface Web tutoriel CSS Laisser les tâches de grognement du traitement de l'organisation Marie Kondo

Laisser les tâches de grognement du traitement de l'organisation Marie Kondo

Apr 18, 2025 am 10:31 AM

Donnons les tâches de grognement le traitement de l'organisation Marie Kondo

Les scripts WebPack et NPM dominent le développement de JavaScript moderne, la manipulation des tâches et le regroupement. Cependant, de nombreux projets comptent toujours sur le grognement. Bien qu'il ne s'agisse pas du plus récent enfant du bloc, Grunt reste un cheval de bataille fiable. Cet article explore des stratégies pour rationaliser et améliorer vos projets de grognement existants.

Chargement de tâche de suralimentation avec jit-grunt

Chargement manuellement chaque tâche grogn à l'aide de grunt.loadNpmTasks est fastidieux. load-grunt-tasks offrent l'automatisation, mais jit-grunt offre des performances encore plus rapides, en particulier bénéfiques pour les projets plus grands.

Comparaison des performances:

Sans jit-grunt :

 <code>loading tasks 5.7s ▇▇▇▇▇▇▇▇ 84% assemble:compile 1.1s ▇▇ 16% Total 6.8s</code>
Copier après la connexion

Avec jit-grunt :

 <code>loading tasks 111ms ▇ 8% loading assemble 221ms ▇▇ 16% assemble:compile 1.1s ▇▇▇▇▇▇▇▇ 77% Total 1.4s</code>
Copier après la connexion

Une amélioration importante de la vitesse! jit-grunt réalise cette optimisation en chargeant uniquement des tâches au besoin.

Utilisation de jit-grunt :

  1. Installer: npm install jit-grunt --save
  2. Remplacez vos instructions de chargement de travail:
 module.exports = fonction (grunt) {
  // Au lieu de grunt.Loadnpmtasks appelle ...
  exiger («jit-grunt») (grognement);

  grunt.initconfig ({});
}
Copier après la connexion

Rationalisation du chargement de configuration

L'étape suivante consiste à découpler votre gruntfile en fichiers de configuration plus petits et plus gérables. Au lieu d'un gruntfile.js monolithique.js, organisez vos configurations en fichiers séparés. Nous allons utiliser load-grunt-configs pour un chargement efficace.

Utilisation de load-grunt-configs :

 module.exports = fonction (grunt) {
  exiger («jit-grunt») (grognement);

  const Configs = require ('Load-Grunt-Configs') (grunt, {
    config: {src: 'tasks / *. js'}
  });

  grunt.initconfig (configs);
  grunt.registerTask ('par défaut', ['cssmin']);
}
Copier après la connexion

Alternativement, Grunt offre un chargement de tâche natif: grunt.loadTasks('tasks') . Cependant, cela exécute immédiatement les fichiers, pas idéal pour la configuration. Pour en tirer parti, vous devez configurer des tâches dans les fichiers externes eux-mêmes à l'aide de grunt.config .

Exemple utilisant grunt.loadTasks :

 // tâches / mytask.js
module.exports = fonction (grunt) {
  grunt.config ('mytask', {
    Option: «valeur»
  });
};

// gruntfile.js
module.exports = fonction (grunt) {
  exiger («jit-grunt») (grognement);
  grunt.initconfig ({});
  grunt.loadtasks («tâches»);
  grunt.registerTask ('par défaut', ['mytask']);
};
Copier après la connexion

Organisation de configuration avancée: regroupement par fonctionnalité

L'organisation des tâches par nom de fichier n'est pas toujours intuitive. Une approche plus efficace consiste à des configurations de groupe par fonctionnalité ou fonctionnalité.

Au lieu de nombreux fichiers de tâche individuels, créez des fichiers représentant des fonctionnalités (par exemple, styles.js , scripts.js , images.js ). Utilisez grunt.config.merge pour combiner des configurations pour les tâches connexes, en évitant l'écrasement.

Exemple: Configuration des styles:

 // tâches / styles.js
module.exports = fonction (grunt) {
  grunt.config ('sass', {/ * ... * /});
  grunt.config ('postcss', {/ * ... * /});
  grunt.config.merge ({
    montre: {
      Styles: {
        Fichiers: ['Source / Styles / *. Scss'],
        Tâches: [«sass», «postcss»]
      }
    }
  });
};
Copier après la connexion

Cette approche améliore la lisibilité et la maintenabilité, offrant un aperçu plus clair de la structure de votre projet.

Conclusion

Bien qu'il ne s'agisse pas de la technologie la plus récente, Grunt reste une option viable avec une organisation appropriée. En tirant parti jit-grunt , load-grunt-configs (ou grunt.loadTasks avec une définition minutieuse de la tâche) et une structure de configuration basée sur des fonctionnalités, vous pouvez améliorer considérablement l'efficacité et la maintenabilité de vos projets de grognement. N'oubliez pas de consulter la documentation GRUNG pour plus de détails et de possibilités.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Apr 02, 2025 pm 06:17 PM

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Apr 02, 2025 am 04:27 AM

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Comparaison des navigateurs pour une conception réactive Comparaison des navigateurs pour une conception réactive Apr 02, 2025 pm 06:25 PM

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

Comment utiliser la grille CSS pour les en-têtes et pieds de page collants Comment utiliser la grille CSS pour les en-têtes et pieds de page collants Apr 02, 2025 pm 06:29 PM

CSS Grid est une collection de propriétés conçues pour faciliter la mise en page qu'elle ne l'a jamais été. Comme tout, il y a un peu une courbe d'apprentissage, mais Grid est

Fontes variables de polices Google Fontes variables de polices Google Apr 09, 2025 am 10:42 AM

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

See all articles