Yeoman is a tool for scaffolding out a new web application, creating directories and files to get you started on your latest project. What makes yeoman different from similar tools however is that it champions a modern workflow through the use of Grunt for building and testing the application, and Bower for installing client-side dependencies.
Yeoman scaffolds applications by using generators. Generators are installed separately to to yeoman and are usually geared towards a certain type of project e.g. generator-angular for angularjs projects or generator-chrome-extension for creating chrome extensions. A full list of generators is available here.
At the moment most of the yeoman generators are geared towards front-end development, I found it great to use to quickly get started with a new project and saw no reason why I couldn't use it to generate the starting point for a server-side application.
I've created a generator that scaffolds an expressjs application. This contains 2 generators:
- The basic generator which is based on the
expresscommand line utility with added grunt tasks and bower setup.
- An MVC style generator which is based around node-express-mongoose-demo
- Make sure you have yo installed
npm install -g yo
- Install the generator locally:
npm install generator-express
yo expressfor the basic generator OR
yo express:mvcfor the MVC generator
gruntthis will run a local server at
Once the server is running you can edit client-side or server-side files and once saved the browser will automatically refresh and show your changes. This is done through the
grunt-contrib-watch task, which can be viewed and edited in the
You can use
bower to install client-side packages which will be placed into the
public/components directory. For example using
bower install jquery will download and install jquery to