MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ponteggi Yeoman, Mongoose e MongoDB

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