Create New Express.js Apps in Minutes with Express Generator
Express.js is a Node.js web framework that has gained immense popularity due to its simplicity. It has easy-to-use routing and simple support for view engines, putting it far ahead of the basic Node HTTP server.
However, starting a new Express application requires a certain amount of boilerplate code: starting a new server instance, configuring a view engine, setting up error handling.
Although there are various starter projects and boilerplates available, Express has its own command-line tool that makes it easy to start new apps, called the express-generator.
What is Express?
Express has a lot of features built in, and a lot more features you can get from other packages that integrate seamlessly, but there are three main things it does for you out of the box:
- Routing. This is how /home /blog and /about all give you different pages. Express makes it easy for you to modularize this code by allowing you to put different routes in different files.
- Middleware. If you’re new to the term, basically middleware is “software glue”. It accesses requests before your routes get them, allowing them to handle hard-to-do stuff like cookie parsing, file uploads, errors, and more.
- Views. Views are how HTML pages are rendered with custom content. You pass in the data you want to be rendered and Express will render it with your given view engine.
Getting Started
Starting a new project with the Express generator is as simple as running a few commands:
npm install express-generator -g
This installs the Express generator as a global package, allowing you to run the express
command in your terminal:
express myapp
This creates a new Express project called myapp
which is then placed inside of the myapp
directory.
cd myapp
If you’re unfamiliar with terminal commands, this one puts you inside of the myapp
directory.
npm install
npm is the default Node.js package manager. Running npm install
installs all dependencies for the project. By default, the express-generator
includes several packages that are commonly used with an Express server.
Options
The generator CLI takes half a dozen arguments, but the two most useful ones are the following:
- -v
. This lets you select a view engine to install. The default is jade
. Although this still works, it has been deprecated in favor ofpug
. - -c
. By default, the generator creates a very basic CSS file for you, but selecting a CSS engine will configure your new app with middleware to compile any of the above options.
Now that we’ve got our project set up and dependencies installed, we can start the new server by running the following:
npm start
Then browse to http://localhost:3000
in your browser.
Application Structure
The generated Express application starts off with four folders.
bin
The bin
folder contains the executable file that starts your app. It starts the server (on port 3000, if no alternative is supplied) and sets up some basic error handling. You don’t really need to worry about this file because npm start
will run it for you.
public
The public
folder is one of the important ones: everything in this folder is accessible to people connecting to your application. In this folder, you’ll put JavaScript, CSS, images, and other assets that people need when they connect to your website.
routes
The routes
folder is where you’ll put your router files. The generator creates two files, index.js
and users.js
, which serve as examples of how to separate out your application’s route configuration.
Usually, here you’ll have a different file for each major route on your website. So you might have files called blog.js
, home.js
, and/or about.js
in this folder.
views
The views
folder is where you have the files used by your templating engine. The generator will configure Express to look in here for a matching view when you call the render
method.
Outside of these folders, there’s one file that you should know well.
Continue reading %Create New Express.js Apps in Minutes with Express Generator%
LEAVE A REPLY
You must be logged in to post a comment.