Express application generator
Use the application generator tool, express-generator, to quickly create an application skeleton.
You can run the application generator with the npx command (available in Node.js 8.2.0).
1
$ npx express-generator
For earlier Node versions, install the application generator as a global npm package (-g) and then launch it:
1
2
$ npm install -g express-generator
$ express
Display the command options with the -h option:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ express -h
Usage: express [options] [dir]
Options:
-h, --help output usage information
--version output the version number
-e, --ejs add ejs engine support
--hbs add handlebars engine support
--pug add pug engine support
-H, --hogan add hogan.js engine support
--no-view generate without view engine
-v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
For example, the following creates an Express app named myapp. The app will be created in a folder named myapp in the current working directory and the view engine will be set to Pug:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ express --view=pug myapp
create : myapp
create : myapp/package.json
create : myapp/app.js
create : myapp/public
create : myapp/public/javascripts
create : myapp/public/images
create : myapp/routes
create : myapp/routes/index.js
create : myapp/routes/users.js
create : myapp/public/stylesheets
create : myapp/public/stylesheets/style.css
create : myapp/views
create : myapp/views/index.pug
create : myapp/views/layout.pug
create : myapp/views/error.pug
create : myapp/bin
create : myapp/bin/www
Then install dependencies:
1
2
$ cd myapp
$ npm install
On MacOS or Linux, run the app with this command:
1
$ DEBUG=myapp:* npm start
On Windows Command Prompt, use this command:
1
> set DEBUG=myapp:* & npm start
On Windows PowerShell, use this command:
1
PS> $env:DEBUG='myapp:*'; npm start
Then, load http://localhost:3000/ in your browser to access the app.
The generated app has the following directory structure:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
myapp
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.pug
├── index.pug
└── layout.pug
7 directories, 9 files