Dites yo à Yeoman

Selon yeoman.io, "Yeoman est un ensemble d'outils, de bibliothèques et un flux de travail robustes et éclairés qui peuvent aider les développeurs à créer rapidement de superbes applications Web attrayantes." Creusons dedans et voyons exactement ce que cela signifie!


Yeoman

 _ .--------------------------. _ | o | _ | Bienvenue chez Yeoman, | | _ | | Mesdames et Messieurs! | / \ Y / \ o _________________________ | || : | // o / --- \ _ \ \ / _

Ces jours-ci, la création d'applications Web nécessite beaucoup de travail. Il existe d'innombrables bibliothèques à utiliser, modèles, styles, grilles, cartes mères, bootstraps… la liste est longue! Yeoman est une réponse à certaines de ces questions. Plutôt que de perdre beaucoup de temps à mettre une application en marche, Yeoman fait le gros du travail pour vous - ne nécessitant que quelques commandes..

Avant d'aller de l'avant, nous devons l'installer!

Le moyen le plus rapide de commencer à utiliser Yeoman est d'exécuter le script suivant.

 curl -L get.yeoman.io | sh
Remarque: Yeoman est pris en charge par OSX, Linux et Windows. Ce processus dure environ 10 minutes. Dans une future mise à jour, ce processus d’installation sera modifié, cependant.

Donc c'était facile. Qu'est-ce qui vient juste de se passer? Beaucoup de choses! le install.sh déposer ,get.yeoman.io, a un en-tête qui décrit exactement ce qui s'est passé.

 # * Detect Mac ou Linux, choisissez le gestionnaire de paquets à utiliser # * Sous Mac, installez homebrew s'il n'est pas présent # * Ensuite, installez-les: git optipng jpeg-turbo phantomjs # * Assurez-vous que Ruby> = 1.8.7 existe, installez-le. sinon (pour Compass) # * Installez le dernier package NodeJS # * Installez Compass # * Téléchargez le zip Yeoman dans un dossier temporaire # * Installez-le en tant que module de noeud global

Et voilà!

Utilise le

Yeoman est installé en tant que module de noeud global. Ouvrez donc votre TOC (Terminal of Choice) et exécutez-le. yeoman.

La première fois que cela fonctionne, il vous demandera si vous souhaitez leur permettre de conserver des statistiques sur votre utilisation de Yeoman. Ils ont en fait un compte Google Analytics qui permet de suivre toutes sortes de statistiques d'utilisation intéressantes..

Simplement en cours d'exécution yeoman à partir de maintenant imprimera une liste des commandes disponibles pour exécuter.

yeoman init

C'est là que se passe la magie des échafaudages. Exécutez la commande suivante pour une application échafaudée de base.

 yeoman init

Cette commande posera cinq questions:

Hors de la boîte, en cours d'exécution init inclura HTML5 Boilerplate, et jQuery et Modernizr. Voici une liste plus étendue.

  • Boilerplate HTML5 pour la base principale
  • Compass Twitter Bootstrap pour les fichiers SASS car les fichiers CSS sont créés dans SASS
  • Twitter Bootstrap pour la liste facultative de plugins JavaScript (facultatif)
  • RequireJS for AMD et prise en charge du chargement de script (facultatif)
  • RequireHM pour la prise en charge expérimentale de la syntaxe de module EcmaScript 6 en plus de RequireJS (facultatif)

Il compilera également les fichiers CoffeeScript et Compass directement de la boîte.!

Générateurs sont la magie derrière tous les échafaudages. le init La commande, elle-même, est basée sur un générateur. Il existe un référentiel séparé pour eux. Il en existe déjà beaucoup, y compris Colonne vertébrale, Ember, et Angulaire pour n'en nommer que quelques-uns. Pour voir une liste de tous, lancez simplement…

 yeoman init --help

Les générateurs sont une énorme partie de Yeoman, et sont destinés à être modifiés et ajoutés à.

Pointe: Pour obtenir de l'aide sur la création de votre propre générateur, reportez-vous à la section générateurs de la documentation..

Si vous voulez créer votre propre application Backbone.js, vous pouvez simplement lancer:

 mkdir backboneapp && cd backboneapp backbone yeoman init

Cela construira un projet avec plusieurs modèles standard, vues, collections, préchargés avec Lodash, Mocha, jQuery et HTML5..
Vous pouvez faire la même chose avec angulaire et braise comme mentionné précédement.

Il y a plusieurs sous-générateurs aussi, qui vous permettent de faire des choses, comme:

 backbone yeoman init: voir awesomeView backbone yeoman init: modèle awesomeModel backbone yeoman init: collection awesomeCollection backbone yeoman init: routeur awesomeRouter

Alors BAM, vous aurez de nouveaux codez travailler avec, plutôt que de perdre beaucoup de temps à réécrire le code standard!

yeoman construire

Sous les couvertures, vous trouverez Grunt, un framework populaire, créé par Ben Alman (Cowboy), pour la création d'applications JavaScript. Il repose sur un grognement fichier d'options de configuration qui configurent les tâches pour effectuer diverses opérations, telles que lier, combiner, réduire, etc..

Yeoman est construit sur Grunt, mais l’étend pour offrir de nouvelles modifications et fonctionnalités. Ceux-ci inclus:

  • JSHint
  • Compiler CoffeeScript et SASS
  • Construire des applications RequireJS, en utilisant r.js
  • Concaténation, minification et compression de fichiers PNG et JPEG
  • Lancer des tests avec PhantomJS
  • Construire un manifeste de cache d'application
  • Et quelques autres.

La configuration sera placée dans un gruntfile.js fichier dans l'application générée. Lorsque vous avez fini de développer, lancez ce qui suit pour créer l'application.

 yeoman construire

Votre application nouvellement construite sera placée dans un dist / dossier. Une fonctionnalité intéressante est la façon dont Yeoman prendra les références de script, telles que:

              

Et, après avoir exécuté le build, concattez et réduisez ces fichiers en un seul scénario référence. C'est douze demandes HTTP à une!

 

Chacune des étapes du processus de construction peut être trouvée dans gruntfile.js, qui est généré lors de la création de l'application. Il y a aussi plusieurs options de construction.

serveur yeoman

Yeoman propose également un serveur d'hébergement intégré pour tester votre application localement. LiveReload ou la simple surveillance de fichiers si vous ne possédez pas LiveReload garantit également que, lors de l'exécution du serveur, toute modification apportée aux fichiers de l'application rechargera automatiquement le navigateur avec les nouvelles modifications. Par défaut, le port sur lequel il sera exécuté est 3051. En exécutant ce qui suit…

 # Exécuter ceci pour la version non construite du serveur yeoman # Ou ceci pour la version construite du serveur yeoman: dist

Une nouvelle fenêtre de navigateur s'ouvrira avec votre application en cours d'exécution. Le serveur compilera également les actifs Coffee et Sass et les placera dans un temp annuaire. Donc, vous n'avez pas à vous soucier de la compilation! Il existe plusieurs autres cibles de serveur; assurez-vous de les vérifier.

test yeoman

Mocha est un framework de test unitaire populaire intégré à Yeoman. Lorsqu'un projet est échafaudé, un dossier de test avec une index.html Le fichier est créé avec Mocha et Chai pour les assertions. Il suffit de lancer:

 test yeoman

Yeoman lancera ensuite Mocha contre PhantomJS, un navigateur Web sans tête qui tourne dans Node.js. Ensuite, vous pouvez ajouter de nouveaux tests dans le index.html fichier. Les tests unitaires peuvent grandement améliorer n'importe quelle application, et Yeoman rend le processus aussi simple que possible. Donc, il n'y a plus d'excuses! Vous pouvez également utiliser Jasmine, si vous préférez, en passant --jasmin test-cadre au yeoman init commander.

En savoir plus sur l'utilisation de Jasmine dans vos projets ici sur Nettuts+.

yeoman installer

Pour installer de nouvelles bibliothèques client dans votre application, Yeoman utilise une bibliothèque, appelée Bower, qui est développée par certaines personnes sur Twitter..

Bower est un gestionnaire de paquets pour le Web. Bower vous permet d'installer facilement des ressources telles que des images, CSS et JavaScript, et gère les dépendances à votre place..

Yeoman permet les commandes suivantes:

 # Installer un ou plusieurs paquets délimités par un espace yeoman installer jquery # Désinstaller des objets yeoman désinstaller jquery # Mettre à jour des objets yeoman mettre à jour jquery # Installe le trait de soulignement également car le backbone en dépend spécifiquement basé sur un nom yeoman lookup mocha # Allez trouver des trucs basés sur un mot-clé yeoman lookup underscore

Bower est un excellent ajout à Yeoman et résout le problème de flux de travail lié à la nécessité de récupérer en permanence des bibliothèques lors de la création d'applications. Cela garantit également qu'ils sont à jour. Voici un exemple d'utilisation de Bower.

 bower installer jquery bower installer git: //github.com/maccman/package-jquery.git bower installer http://code.jquery.com/jquery-1.7.2.js bower installer ./repos/jquery

Les applications installées avec bower seront stockées dans un composant.json fichier à la racine de l'application.


Mets le tout ensemble

Créons une application simple Backbone du début à la fin.

 # Créer une nouvelle application backbone yeoman init # Créer un nouveau modèle et une collection backbone yeoman init: modèle photo Backbone yeoman init: collection de photos # Créer quelques nouvelles vues pour les photos publiques flickr. WAVES MAIN ET AJOUTE BEAUCOUP DE CODE # https://github.com/jcreamer898/yeomanbbapp yeoman server # Construisez TOUT CE QUE VOUS FAITES! yeoman build # Découvrez le nouveau build man… yeoman server: dist

Wow, c'est presque trop simple - et n'oubliez pas que vous pouvez créer des alias Bash pour raccourcir davantage ce code. Le plus difficile a été de créer l'exemple d'application! Mais c'est la beauté de la chose. Yeoman vous emmène loin de
le code passe-partout, et vous permet de vous concentrer exclusivement sur les choses difficiles!

Si vous le souhaitez, jetez un coup d'œil à l'application pour voir comment les choses se sont passées. Je dirais plutôt bien.


Conclusion

Yeoman peut accélérer rapidement le processus de développement d'une nouvelle application. Plutôt que de perdre votre temps à rassembler des bibliothèques et à écrire du code standard, tapez plutôt quelques commandes et vous serez opérationnel! Mieux encore, il est open source et écrit par deux personnes que vous connaissez peut-être!

Prendre plaisir!