Comment Grunt peut améliorer le développement WordPress

Dans la première partie de cette série, j'ai donné un rapide aperçu de Grunt. J'ai également parlé des différentes technologies nécessaires à son utilisation. Après cela, je me suis un peu familiarisé avec le fichier Gruntfile et les tâches qu'il contient..

Maintenant, je veux expliquer en quoi l'utilisation de Grunt peut améliorer votre développement pour les thèmes et les plugins WordPress.

Configuration facile du projet

Ce que je préfère dans l’utilisation de Grunt et de npm, c’est que lorsque vous configurez votre projet, il auto-documente les dépendances de votre projet. C'est parfait pour les équipes de développement et les projets open-source. Qui veut écrire de la documentation sur la configuration d'un espace de travail de toute façon, non??

package.json

Tout d'abord, vous aurez besoin d'un fichier package.json dans votre projet. Le nom du projet, sa version et sa description doivent être configurés. Nous verrons plus en détail dans le prochain post, mais voici un exemple:


"nom": "nom-projet",
"version": "1.0.0",
"description": "Projet génial"

Une fois que vous avez cette configuration, lorsque vous installez un plugin Grunt, il vous suffit d’ajouter --save-dev à la fin et il ajoutera le plugin à votre fichier package.json sous devDependencies. Par exemple, si je voulais ajouter le grunt-contrib-watch plugin à mon projet je lancerais la commande suivante:

npm installer grunt-contrib-watch --save-dev

Vous verrez le plugin ajouté à votre  node_modules dossier et cela devrait également donner à votre fichier package.json l’apparence suivante:


"nom": "nom-projet",
"version": "1.0.0",
"description": "Projet génial",
    "devDependencies":
"grunt-contrib-watch": "~ 0.5.x"

Lorsque vous installez d’autres plug-ins Grunt et que vous ajoutez --save-dev à la fin, vous les verrez ajoutés sous le devDependencies objet.

npm installer

Pourquoi est-ce bénéfique? Comme je l’ai mentionné plus tôt, il s’agit d’une auto-documentation des dépendances de vos projets. Une fois que tous vos plugins sont installés et ajoutés à votre fichier package.json, un autre membre de l’équipe ou un contributeur peut maintenant exécuter npm installer et ils vont installer tout le nécessaire pour le projet.

Vous pouvez le tester assez facilement en supprimant l’ensemble de votre node_modules  dossier et en cours d'exécution npm installer toi même. Vous verrez tout ce que vous avez installé installé automatiquement.

[note] Vous voudrez ajouter le node_modules dossier à votre .gitignore fichier afin de ne pas gonfler votre référentiel. [/ note]

Surveillez les changements

J'utilise beaucoup de plugins Grunt similaires avec chaque projet, mais celui que j'installe toujours est celui que j'ai déjà mentionné, grunt-contrib-watch. Ce plugin, une fois exécuté, surveillera les fichiers de votre projet et lancera toutes les tâches que vous avez spécifiées pour ce fichier ou ce type de fichier..

Un exemple serait pour n'importe lequel de vos fichiers JavaScript. Lorsque vous apportez des modifications à l'un d'entre eux et que vous l'enregistrez, vous pouvez demander à Grunt d'exécuter une tâche JSLint, concat et minify. Vous pouvez également spécifier un ordre. Ainsi, lorsqu'une réussite est atteinte, la suivante est lancée. Si l'un échoue, il tue la séquence de tâches complète.

CodeKit a une fonctionnalité similaire, mais il exécute toutes vos tâches. Par exemple, si vous modifiez un fichier SASS ou LESS, non seulement il lance ces tâches, mais également vos tâches de fichiers JavaScript. La tâche de surveillance Grunt vous donne plus de contrôle sur les tâches exécutées lorsque des fichiers ou des types de fichiers spécifiques sont modifiés..

Création de tâches personnalisées

En plus des tâches Grunt pour les plugins que vous installez, vous pouvez créer vos propres tâches personnalisées. Souvent, lorsque je configure un projet, j'ai 3 tâches à configurer, défaut, installer, et construire.

Défaut

La tâche par défaut est la tâche qui sera exécutée avec vous exécuter grognement à partir de la ligne de commande. Bien souvent, je mapperai ma tâche de veille sur la valeur par défaut. Vous pouvez ajouter n'importe quelle tâche que vous voulez exécuter.

Installer

La tâche d’installation que j’ai configurée effectue généralement les tâches qui ne doivent être exécutées que la première fois pour définir l’installation de votre projet. Souvent, j'utilise Bower pour charger des bibliothèques tierces telles que Bootstrap. Je dois les extraire puis exécuter une tâche de copie pour déplacer certains fichiers dans mon projet, puis lancer une compilation initiale des fichiers LESS et JavaScript..

Construire

La tâche de construction est utilisée pour les tâches à effectuer avant de publier ou de distribuer votre projet. Je lance toujours cela pour m'assurer que tout est concaténé, minifié et compressé. Un bon exemple consiste à exécuter grunt-contrib-imagemin pour optimiser toutes les images de votre projet. Un autre exemple consiste à utiliser grunt-contrib-compress pour créer un fichier zip de votre thème afin de faciliter son installation via l’administrateur WordPress..

Conclusion

Grunt est définitivement un excellent outil pour les équipes de développeurs. De la documentation automatique des dépendances de votre projet à la construction personnalisée, Grunt vous rend efficace. Utilisez Grunt pour automatiser différentes tâches dans votre projet afin que vous puissiez vous concentrer sur la construction de votre thème ou plugin WordPress.

Ressources

  • Grognement
  • npm
  • Grunt Contrib Tâche de surveillance
  • CodeKit
  • Tonnelle
  • Bootstrap
  • grunt-contrib-imagemin
  • grunt-contrib-compress