VOOZH about

URL: https://expressjs.com/en/starter/generator/

⇱ Express application generator · Express.js


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).

Terminal window
$npxexpress-generator

For earlier Node versions, install the application generator as a global npm package and then launch it:

Terminal window
$npminstall-gexpress-generator
$express

Display the command options with the -h option:

Terminal window
$express-h
Usage:express [options] [dir]
Options:
-h,--helpoutputusageinformation
--versionoutputtheversionnumber
-e,--ejsaddejsenginesupport
--hbsaddhandlebarsenginesupport
--pugaddpugenginesupport
-H,--hoganaddhogan.jsenginesupport
--no-viewgeneratewithoutviewengine
-v,--view<engine>addview<engine>support (ejs|hbs|hjs|jade|pug|twig|vash) (defaultstojade)
-c,--css<engine>addstylesheet<engine>support (less|stylus|compass|sass) (defaultstoplaincss)
--gitadd.gitignore
-f,--forceforceonnon-emptydirectory

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:

Terminal window
$express--view=pugmyapp
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:

Terminal window
$cdmyapp
$npminstall

On MacOS or Linux, run the app with this command:

Terminal window
$DEBUG=myapp:*npmstart

On Windows Command Prompt, use this command:

Terminal window
> set DEBUG=myapp:* & npmstart

On Windows PowerShell, use this command:

Terminal window
PS> $env:DEBUG='myapp:*'; npmstart

Then, load http://localhost:3000/ in your browser to access the app.

The generated app has the following directory structure:

Terminal window
.
├──app.js
├──bin
└──www
├──package.json
├──public
├──images
├──javascripts
└──stylesheets
└──style.css
├──routes
├──index.js
└──users.js
└──views
├──error.pug
├──index.pug
└──layout.pug
7directories,9files

Note

The app structure created by the generator is just one of many ways to structure Express apps. Feel free to use this structure or modify it to best suit your needs.