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

Yeoman, Mongoose og MongoDB Stilladser

I vores tidligere indlæg talte vi om at komme i gang med Mongoose og MongoDB. I dette indlæg viser vi dig, hvordan du bruger Yeoman og stilladser et nyt Mongoose/Express-projekt til MongoDB.

Yeoman er et stilladsværktøj, der stilladser projekter ved hjælp af Grunt, Bower og Node. Der er tidspunkter, hvor du ender med at klippe og indsætte boilerplate-kode rundt for at oprette et nyt projekt. Det er præcis, hvad Yeoman gør, men med en enkelt kommando og et par fantastiske generatorer.

Yeoman bruger Grunt som opgaveløber til at udføre kørsel/build/test opgaver. Hvis du vil bruge Gulp til det samme, kan du tjekke Slush ud. Slush er også et stilladsværktøj, men bruger Gulp som opgaveløber.

Kom godt i gang med Yeoman

For at gøre vores liv nemmere vil vi bruge en Super Awesome Yeoman Generator ved navn generator-mongoose , som vil hjælpe os med at oprette et nyt projekt samt hjælpe os med stilladsskemaer.

Denne generator bruger Express.js som server, HTML til skabeloner og en snert af Bootstrap CSS for at få tingene til at se godt ud.

Lad os oprette en ny mappe og navngive den yoMongoose. CD ind i mappen og kør følgende:

Sådan installerer du Yeoman:

[sudo] npm install -g yo

Sådan installeres generator-mongoose:

[sudo] npm install -g generator-mongoose

og til sidst, for at stilladsere et nyt projekt, kør:

yo mongoose

Udfyld spørgsmålet som:

[?] 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

Og Yeoman vil gå ud og stilladsere et nyt projekt for dig. Din mappestruktur skal bestå af en /node_modules-mappe og en public/bower_components. Hvis du ikke kan se nogen af ​​dem, skal du køre npm install og bower install.

For at køre appen skal du udføre:

grunt

Dette starter ekspresserveren og starter startsiden i din standardbrowser. Standardsiden, du ser, er en liste over ruter, der er konfigureret i applikationen.

Tilbage til mappen, og lad os få en hurtig gennemgang af appen.

  • konfig /db.js

    Består af DB-konfigurationerne og nogle muligheder, du kan rode med.

  • modeller /post.js

    Et eksempelskema for et blogindlæg. Alle de andre modeller, vi skal stilladsere med undergeneratoren, vises her.

  • offentlig /

    Består af JavaScript og CSS, der kræves til brugergrænsefladen.

  • ruter /index.js

    Består af standardruten, der sender index.htmlpost.js, og består af 5 nøgleslutpunkter, du skal bruge for at interagere med indlægssamlingen.

  • test /

    Består af testen for Post-ruten og dens metoder.

  • visninger /

    Består af alle skabeloner og visninger sendt til klienten.

For at få en fornemmelse for hvor tingene foregår i en modulær Express-app, anbefaler jeg at tage et kig på følgende i rækkefølge:

config/db.js
models/post.js
routes/post.js
app.js

Når du er færdig, stilladser vi en anden model med navnet artikler ved hjælp af undergeneratoren.

Tilbage til terminal/prompt og kør:

yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"

Ovenstående kommando vil oprette disse 3 filer og resultere i:

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 vil bestå af alle felterne, der er angivet efter rørsymbolet i kommandoen. Sødt ikke?

For at se resultatet og en opdateret liste over ruter skal du køre:

grunt

Grav ned i de nyligt genererede filer, og med praktisk talt ingen indsats var vi i stand til at generere en Express/Mongoose-app.

Håber du har en grundlæggende forståelse af Scaffolding Express/Mongoose-apps.

Tak fordi du læste med. Kommenter.
@arvindr21


  1. Geospatial support i MongoDB

  2. Enhedstest med MongoDB

  3. Søger efter værdien af ​​ethvert felt i MongoDB uden eksplicit at navngive det

  4. Installation af Redis på CentOS 8