Yo!
Génère moi un Générateur
Wassim Chegham
aka — Maneki Nekko
ECMAScript Jedi
Technical Lead at
KÉsako ?
The queen's body guard
of the yeoman
of the guard
- yo : génère une arborescence d'application web
-
grunt : automatise les tâches du build/déploiement
- bower : installe les dépendances (ex: jQuery...)
yo generators
pourquoi ?
- Démarrer un projet en un clin d'oeil
- Maitriser la structure de nos projets
- Maitriser nos outils de dev, build et test
- Imposer des standards & des best practices
Récupération du modèle de générateur
npm install -g generator-generator
Création du répertoire du projet*
mkdir generator-breizhcamp && cd $_
Le répertoire du projet doit absolument s'appeler generator-nom-generator
Installation du Yo Generator
L'arborescence d'un générateur Yeoman
index.js est le point d'entrée
templates est le répertoire de travail
Ajout des fichiers dans le répertoire templates
convention : préfixez les fichiers modèles par _
(astuce)
Associez le générateur à NPM
Ajout des actions dans index.js
Yo
Demande d'informations à l'utilisateur
YO
Plusieurs type de questions
- Case à cocher
- Choix multiples
- Liste
- Mot de passe
- Confirmation
- ...etc.
Modification des fichiers modèles
Underscore.js FTW !!
Création des répertoires nécessaires
this.mkdir(directory);
Yo
Copie des fichiers statiques
this.copy(source, destination);
Copie des fichiers modèles
this.template(source, destination, context_underscore);
Copie en masse...
Installation des dépendances bower
L'installation se fait à la fin du processus !
Aller plus loin
- Sous-Générateurs
- Génération des tâches Grunt & Gulp
- Téléchargement des fichiers binaires
Links :
Yeoman is a project developed by
Addy Osmani · Sindre Sorhus · Pascal Hartig · Stephen Sawchuk · Simon Boudrias · Brian Ford · Eddie Monge · Paul Irish · Hemanth.HM · Revath S Kumar · Jimmy Moon · Frederick Ros · Mickael Daniel · Eric Bidelman and the Yeoman Community.