Em nosso post anterior, falamos sobre como começar com o Mongoose e o MongoDB. Nesta postagem, mostraremos como usar o Yeoman e desenvolver um novo projeto Mongoose/Express para MongoDB.
Yeoman é uma ferramenta de andaimes, que desenvolve projetos usando Grunt, Bower e Node. Há momentos em que você acaba recortando e colando código clichê para criar um novo projeto. Isso é exatamente o que Yeoman faz, mas com um único comando e alguns geradores incríveis.
Yeoman usa o Grunt como executor de tarefas para executar tarefas de execução/compilação/teste. Se você quiser usar o Gulp para o mesmo, confira o Slush. Slush também é uma ferramenta de andaimes, mas usa o Gulp como o executor de tarefas.
Introdução ao Yeoman
Para facilitar nossas vidas, usaremos um Gerador Yeoman Super Incrível chamado generator-mongoose , o que nos ajudará na criação de um novo projeto, bem como nos ajudará nos esquemas de andaimes.
Este gerador usa Express.js como servidor, HTML para modelagem e um toque de Bootstrap CSS para fazer as coisas parecerem boas.
Vamos criar uma nova pasta e nomeá-la yoMongoose. CD na pasta e execute o seguinte:
Para instalar o Yeoman:
[sudo] npm install -g yo
Para instalar o gerador-mangusto:
[sudo] npm install -g generator-mongoose
e, finalmente, para criar um novo projeto, execute:
eu mangusto
Preencha a pergunta como:
[?] Nome do banco de dados:(myDb) myTestDB[?] Host do banco de dados:(localhost) localhost[?] Usuário do banco de dados:{hit return}[?] Senha do banco de dados:{hit return}[?] Porta do banco de dados:( 27017) 27017[?] Você usará heroku? (S/n) n
E Yeoman sairá e montará um novo projeto para você. Sua estrutura de pastas deve consistir em uma pasta /node_modules e uma pasta public/bower_components. Se você não vir nenhum deles, execute npm install e bower install.
Para executar o aplicativo, execute:
grunhido
Isso iniciará o servidor expresso e iniciará a página inicial em seu navegador padrão. A página padrão que você vê é uma lista de rotas configuradas no aplicativo.
Volte para a pasta e vamos dar uma rápida olhada no aplicativo.
-
configuração /db.js
Consiste nas configurações do banco de dados e algumas opções com as quais você pode mexer.
-
modelos /post.js
Um exemplo de esquema de uma postagem de blog. Todos os outros modelos que vamos montar com o subgerador aparecerão aqui.
-
público /
Consiste no JavaScript e CSS necessários para a interface do usuário.
-
rotas /index.js
Consiste na rota padrão que despachará o index.htmlpost.js e consiste em 5 pontos de extremidade principais que você precisará para interagir com a coleção de postagens.
-
teste /
Consiste no teste da rota Post e seus métodos.
-
visualizações /
Consiste em todos os modelos e visualizações enviados ao cliente.
Para ter uma ideia de onde as coisas vão em um aplicativo Express modular, recomendo dar uma olhada no seguinte na ordem:
config/db.jsmodels/post.jsroutes/post.jsapp.js
Quando estiver pronto, criaremos outro modelo chamado artigos usando o subgerador.
Volte ao terminal/prompt e execute:
yo mangusto:schema "artigo|título:String,excerpt:String,content:String,publicado:Boolean,created:Date"
O comando acima criará esses 3 arquivos e resultará em:
Você está criando um esquema para o artigoCom os campos:title,excerpt,content,published,creatediniciando solicitação de esquema para testar dados simulados...create routes/article.jscreate models/article.jscreate test/test-article.js
O models/article.js consistirá em todos os campos listados após o símbolo de barra vertical no comando. Doce certo?
Para ver o resultado e uma lista atualizada de rotas, execute:
grunhidoMergulhe nos arquivos recém-gerados e, com praticamente zero esforço, conseguimos gerar um aplicativo Express/Mongoose.
Espero que você tenha uma compreensão básica dos aplicativos Scaffolding Express/Mongoose.
Obrigado por ler. Comente.
@arvindr21