Aprés Grunt et Bower, je vais aujourd’hui vous présenter yeoman.
Yeoman est un « générateur » de projet.
Il est basé sur node.js et npm et utilise git pour la récupération des dépendances. Ces outils doivent donc être installés sur votre poste.
Installation
L’installation se fait via la commande suivante (avec l’option -g pour avoir la commande en global)
npm install -g yo
Bower et Grunt sont automatiquement installés.
Il faut également installer les générateurs que vous voulez utiliser. Vous pouvez trouver la liste des générateurs disponible ici. Pour notre exemple, nous allons installer le générateur pour angular via la commande suivante :
npm install -g generator-angular
Utilisation
Il suffit d’appeler ensuite la commande yo avec le générateur de votre choix :
yo angular
Quelques questions vous seront posées (voulez-vous utiliser sass, twitter bootstrap, ….,). Ces questions détermineront ce qui sera installé.Une fois les questions répondues, yeoman va se charger de télécharger toutes les dépendances du projet.
Comme je vous le disais, yeoman intègre grunt et bower. Des fichiers Gruntfile.js et bower.js seront donc déjà présent et configurés suivant le générateur utilisé. Pratique !!
Les générateurs peuvent également être utilisé pour créer des nouveaux fichiers comme dans le cas du générateur angular qui permet de créer des services, factory, controller, directives, ….
Astuces
Pour connaître les générateurs installés, il faut lancer l’aide via la commande suivante :
yo -h
Vous pouvez voir la liste des générateurs disponibles pour le seul angular. Notez également la présence de karma. En effet, le template de projet d’angular inclut Karma (anciennement Testacular), un lanceur de test multi-navigateur créé par l »équipe d’angular, et permet donc d’initier un projet Karma .
Liens
- Guide de démarrage / vidéo d’introduction
- Un article sur Yeoman sur Nettuts
Conclusion
Yeoman est très pratique pour démarrer rapidement un projet avec une bonne architecture et les bonnes pratiques d’un framework (tests unitaires, arborescence projet, …). Vous avez bien entendu la possibilité de générer votre propre générateur pour vos projets et les partager.
Tweet