ironhack_generator
is Ironhack's NPM package that allows students to quickly create express projects. The Ironhack-generator
is strongly opinionated:
- Follows industry best practices
- Predefined directory structure:
public
: Public Assets folder (css, js, images)models
: Mongoose Schemas and modelsroutes
: Project routesviews
: Project views and layouts
- Views Template: Handlebars
- CSS Engine: SCSS - Node-sass-middleware
- ODM: Mongoose
- Comes prepopulated with popular, useful Express middlewares
- Logger: morgan
- Favicon: serve-favicon
- HTTP POST Params: body-parser
- Cookies: cookie-parser
- Error handling: 404 (Not found), 500 (Internal Server Error)
- Creates project
.gitignore
- removesnode_modules
, etc - Environment variables loaded from
.env
configuration file - Server monitoring: nodemon
Install ironhack_generator
as a global NPM package, so you can run it from anywhere in your computer:
$ npm install -g ironhack_generator
The quickest way to get started with express is to utilize the executable irongenerate(1)
to generate an application as shown below:
Create the app:
$ irongenerate awesome-project/
$ cd awesome-project/
This will generate the following directory structure:
awesome-project/
├── app.js
├── package.json
├── models
├── routes
│ └── index.js
├── views
│ ├── error.hbs
│ ├── index.hbs
│ └── layout.hbs
├── public
│ ├── images
│ ├── javascripts
│ │ └── script.js
│ └── stylesheets
│ └── styles.sass
├── .env
├── .gitignoe
├── bin
├── www
Install all dependencies described in package.json
:
$ npm install
Start your Express.js app at http://localhost:3000/
:
$ npm start
This generator can also be further configured with the following command line flags.
-h, --help output usage information
--version output the version number
-c, --css <engine> add stylesheet <engine> support (plain|less|sass|scss) (defaults to scss)
-f, --force force on non-empty directory
--git initialise a Git project