В предишната ни публикация говорихме за започване на работа с Mongoose и MongoDB. В тази публикация ще ви покажем как да използвате Yeoman и да изградите нов проект Mongoose/Express за MongoDB.
Yeoman е инструмент за скелета, който изгражда проекти с помощта на Grunt, Bower и Node. Има моменти, когато в крайна сметка изрязвате и поставяте шаблонен код, за да създадете нов проект. Точно това прави Yeoman, но с една команда и няколко страхотни генератора.
Yeoman използва Grunt като програма за изпълнение на задачи за изпълнение/изграждане/тест. Ако искате да използвате Gulp за същото, можете да проверите Slush. Slush също е инструмент за скеле, но използва Gulp като средство за изпълнение на задачите.
Първи стъпки с Yeoman
За да улесним живота си, ще използваме Super Awesome Yeoman Generator, наречен generator-mongoose , което ще ни помогне при създаването на нов проект, както и ще ни помогне в схемите за скелета.
Този генератор използва Express.js като сървър, HTML за шаблони и оттенък на Bootstrap CSS, за да изглежда нещата добре.
Нека създадем нова папка и да я наречем yoMongoose. CD в папката и стартирайте следното:
За да инсталирате Yeoman:
[sudo] npm install -g yo
За да инсталирате генератор-мангуст:
[sudo] npm install -g generator-mongoose
и накрая, за да изградите нов проект, изпълнете:
йо мангуст
Попълнете въпроса като:
[?] Име на база данни:(myDb) myTestDB[?] Хост на база данни:(localhost) localhost[?] Потребител на база данни:{hit return}[?] Парола за база данни:{hit return}[?] Порт на базата данни:( 27017) 27017[?] Ще използвате ли heroku? (Y/n) n
И Yeoman ще тръгне и ще създаде нов проект за вас. Структурата на вашата папка трябва да се състои от папка /node_modules и public/bower_components. Ако не виждате нито едно от тях, моля, стартирайте npm install и bower install.
За да стартирате приложението, изпълнете:
гръмкане
Това ще стартира от експресния сървър и ще стартира началната страница в браузъра ви по подразбиране. Страницата по подразбиране, която виждате, е списък с маршрути, конфигурирани в приложението.
Върнете се в папката и нека направим бърз преглед на приложението.
-
конфигурация /db.js
Състои се от конфигурациите на DB и някои опции, с които можете да се забърквате.
-
модели /post.js
Примерна схема на публикация в блог. Всички други модели, които ще монтираме с подгенератора, ще се покажат тук.
-
обществено /
Състои се от JavaScript и CSS, необходими за потребителския интерфейс.
-
маршрути /index.js
Състои се от маршрута по подразбиране, който ще изпрати index.htmlpost.js, и се състои от 5 ключови крайни точки, които ще ви трябват, за да взаимодействате с колекцията от публикации.
-
тест /
Състои се от теста за Post route и неговите методи.
-
прегледи /
Състои се от всички шаблони и изгледи, изпратени на клиента.
За да усетите къде вървят нещата в модулното Express приложение, препоръчвам да надникнете в следния ред:
config/db.jsmodels/post.jsroutes/post.jsapp.js
След като приключите, ще изградим скелето на друг модел с име articles с помощта на подгенератора.
Върнете се към терминала/подкана и стартирайте:
yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"
Горната команда ще създаде тези 3 файла и ще доведе до:
Създавате схема за статия с полетата:заглавие,откъс,съдържание,публикувано,създадена начална заявка към схема за тестови макетни данни...създайте маршрути/article.jscreate models/article.jscreate test/test-article.jsпредварително>Models/article.js ще се състои от всички полета, изброени след символа на тръбата в командата. Сладко нали?
За да видите резултата и актуален списък с маршрути, изпълнете:
гръмканеРазровете се в новогенерираните файлове и с практически нулеви усилия успяхме да генерираме приложение Express/Mongoose.
Надявам се, че имате основно разбиране за приложенията Scaffolding Express/Mongoose.
Благодаря за четенето. Коментирайте.
@arvindr21