Dans notre article précédent, nous avons parlé de la prise en main de Mongoose et de MongoDB. Dans cet article, nous allons vous montrer comment utiliser Yeoman et échafauder un nouveau projet Mongoose/Express pour MongoDB.
Yeoman est un outil d'échafaudage qui échafaude des projets à l'aide de Grunt, Bower et Node. Il y a des moments où vous finissez par couper et coller du code passe-partout pour créer un nouveau projet. C'est précisément ce que fait Yeoman, mais avec une seule commande et quelques générateurs impressionnants.
Yeoman utilise Grunt comme exécuteur de tâches pour effectuer des tâches d'exécution/construction/test. Si vous souhaitez utiliser Gulp pour la même chose, vous pouvez consulter Slush. Slush est également un outil d'échafaudage mais utilise Gulp comme exécuteur de tâches.
Démarrer avec Yeoman
Pour nous faciliter la vie, nous utiliserons un générateur Super Awesome Yeoman nommé generator-mongoose , qui nous aidera à mettre en place un nouveau projet ainsi qu'à nous aider dans les schémas d'échafaudage.
Ce générateur utilise Express.js comme serveur, HTML pour les modèles et une touche de CSS Bootstrap pour que les choses paraissent bien.
Créons un nouveau dossier et nommons-le yoMongoose. CD dans le dossier et exécutez ce qui suit :
Pour installer Yeoman :
[sudo] npm install -g yo
Pour installer le générateur-mongoose :
[sudo] npm install -g generator-mongoose
et enfin, pour échafauder un nouveau projet, exécutez :
votre mangouste
Remplissez la question comme :
[?] Nom de la base de données :(myDb) myTestDB[?] Hôte de la base de données :(localhost) localhost[?] Utilisateur de la base de données :{hit return}[?] Mot de passe de la base de données :{hit return}[?] Port de la base de données :( 27017) 27017[?] Allez-vous utiliser heroku ? (O/n) n
Et Yeoman partira et échafaudera un nouveau projet pour vous. Votre structure de dossiers doit être composée d'un dossier /node_modules et d'un dossier public/bower_components. Si vous ne voyez ni l'un ni l'autre, veuillez exécuter npm install et bower install.
Pour exécuter l'application, exécutez :
grognement
Cela démarrera le serveur express et lancera la page d'accueil dans votre navigateur par défaut. La page par défaut que vous voyez est une liste d'itinéraires configurés dans l'application.
Retournez au dossier et passons en revue rapidement l'application.
-
configuration /db.js
Comprend les configurations de base de données et certaines options avec lesquelles vous pouvez vous amuser.
-
modèles /post.js
Un exemple de schéma d'un article de blog. Tous les autres modèles que nous allons échafauder avec le sous-générateur apparaîtront ici.
-
public /
Comprend le JavaScript et le CSS nécessaires à l'interface utilisateur.
-
itinéraires /index.js
Comprend la route par défaut qui enverra index.htmlpost.js, et se compose de 5 points de terminaison clés dont vous aurez besoin pour interagir avec la collection de messages.
-
tester /
Comprend le test de la route Post et de ses méthodes.
-
vues /
Comprend tous les modèles et vues envoyés au client.
Pour avoir une idée de l'évolution d'une application modulaire Express, je vous recommande de jeter un coup d'œil aux éléments suivants dans l'ordre :
config/db.jsmodels/post.jsroutes/post.jsapp.js
Une fois que vous avez terminé, nous échafauderons un autre modèle nommé articles à l'aide du sous-générateur.
Retournez au terminal/à l'invite et exécutez :
yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"
La commande ci-dessus créera ces 3 fichiers et donnera :
Votre création d'un schéma pour l'articleAvec les champs :titre,extrait,contenu,publié,créédemande de démarrage au schéma pour tester les données fictives...créer des routes/article.jscréer des modèles/article.jscréer un test/test-article.jsLe models/article.js comprendra tous les champs répertoriés après le symbole de tuyau dans la commande. Doux, non ?
Pour afficher le résultat et une liste mise à jour des itinéraires, exécutez :
grognementCreusez dans les fichiers nouvellement générés, et avec pratiquement aucun effort, nous avons pu générer une application Express/Mongoose.
J'espère que vous avez une compréhension de base des applications Scaffolding Express/Mongoose.
Merci d'avoir lu. Faites un commentaire.
@arvindr21