Nel nostro post precedente, abbiamo parlato di come iniziare con Mongoose e MongoDB. In questo post, ti mostreremo come utilizzare Yeoman e impalcare un nuovo progetto Mongoose/Express per MongoDB.
Yeoman è uno strumento di scaffolding, che organizza progetti utilizzando Grunt, Bower e Node. Ci sono momenti in cui finisci per tagliare e incollare il codice boilerplate per creare un nuovo progetto. Questo è esattamente ciò che fa Yeoman, ma con un solo comando e alcuni fantastici generatori.
Yeoman usa Grunt come task runner per eseguire attività di esecuzione/costruzione/test. Se vuoi usare Gulp per lo stesso, puoi dare un'occhiata a Slush. Slush è anche uno strumento di Scaffolding ma utilizza Gulp come task runner.
Guida introduttiva a Yeoman
Per semplificarci la vita, utilizzeremo un fantastico generatore Yeoman chiamato generator-mongoose , che ci aiuterà nella creazione di un nuovo progetto e ci aiuterà a creare schemi di ponteggi.
Questo generatore utilizza Express.js come server, HTML per la creazione di modelli e una sfumatura di CSS Bootstrap per far sembrare le cose a posto.
Creiamo una nuova cartella e la chiamiamo yoMongoose. CD nella cartella ed eseguire quanto segue:
Per installare Yeoman:
[sudo] npm install -g yo
Per installare generatore-mangusta:
[sudo] npm install -g generator-mongoose
e infine, per impalcare un nuovo progetto, esegui:
yo mongoose
Compila la domanda come:
[?] Database Name: (myDb) myTestDB [?] Database Host: (localhost) localhost [?] Database User: {hit return} [?] Database Password: {hit return} [?] Database Port: (27017) 27017 [?] Will you be using heroku? (Y/n) n
E Yeoman se ne andrà e scaffolderà un nuovo progetto per te. La struttura della tua cartella dovrebbe consistere in una cartella /node_modules e una public/bower_components. Se non vedi nessuno dei due, esegui npm install e bower install.
Per eseguire l'app, eseguire:
grunt
Questo avvierà il server espresso e avvierà la home page nel browser predefinito. La pagina predefinita che vedi è un elenco di percorsi configurati nell'applicazione.
Torna alla cartella e diamo una rapida panoramica dell'app.
-
configurazione /db.js
Consiste nelle configurazioni DB e alcune opzioni con cui puoi scherzare.
-
modelli /post.js
Uno schema di esempio di un post del blog. Tutti gli altri modelli che andremo a impalcare con il sottogeneratore appariranno qui.
-
pubblico /
Consistono in JavaScript e CSS necessari per l'interfaccia utente.
-
percorsi /index.js
Consiste nella route predefinita che invierà index.htmlpost.js e consiste in 5 endpoint chiave di cui avrai bisogno per interagire con la raccolta di post.
-
prova /
Consiste nel test per il percorso Post e i suoi metodi.
-
visualizzazioni /
Consiste in tutti i modelli e le visualizzazioni inviati al client.
Per avere un'idea di dove vanno le cose in un'app Express modulare, ti consiglio di dare un'occhiata a quanto segue in ordine:
config/db.js models/post.js routes/post.js app.js
Una volta che hai finito, impalcheremo un altro modello denominato articoli utilizzando il sottogeneratore.
Torna al terminale/prompt ed esegui:
yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"
Il comando precedente creerà quei 3 file e risulterà in:
Your creating a schema for article With the fields: title,excerpt,content,published,created starting request to schematic for test mock data... create routes/article.js create models/article.js create test/test-article.js
models/article.js sarà composto da tutti i campi elencati dopo il simbolo della pipe nel comando. Dolce vero?
Per vedere il risultato e un elenco aggiornato di percorsi, esegui:
grunt
Scava nei file appena generati e, praticamente senza sforzo, siamo stati in grado di generare un'app Express/Mongoose.
Spero che tu abbia una conoscenza di base delle app Scaffolding Express/Mongoose.
Grazie per aver letto. Commenta.
@arvindr21