Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Introduction to Express.js

What is Express.js?

Express.js is a minimal and flexible Node.js web application framework that provides a robust set of features for building web and mobile applications. It facilitates the rapid development of Node-based web applications by providing a set of tools and features.

Key Features:

  • Lightweight and minimalistic
  • Middleware support
  • Easy routing
  • Flexible and scalable
  • Supports various template engines

Installation

To install Express.js, you need to have Node.js and npm installed. Follow the steps below:

  1. Open your terminal.
  2. Create a new directory for your project:
  3. mkdir my-express-app
  4. Navigate into your project directory:
  5. cd my-express-app
  6. Initialize a new npm project:
  7. npm init -y
  8. Install Express:
  9. npm install express

Basic Usage

Once Express is installed, you can create a basic server with just a few lines of code:

const express = require('express');
const app = express();
const PORT = 3000;

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});

To run your server, execute the following command in your terminal:

node index.js

Routing

Routing refers to how an application responds to client requests for a particular endpoint. Express makes it easy to define routes:

app.get('/about', (req, res) => {
    res.send('About Page');
});

app.post('/submit', (req, res) => {
    res.send('Form Submitted');
});

Middleware

Middleware functions are functions that have access to the request object (req), the response object (res), and the next middleware function in the application’s request-response cycle. They are used for tasks such as logging, authentication, and more.

Example of a simple middleware:

app.use((req, res, next) => {
    console.log(`${req.method} request for '${req.url}'`);
    next();
});

FAQ

What is the difference between Express.js and Node.js?

Node.js is a JavaScript runtime that allows you to run JavaScript on the server-side, while Express.js is a web application framework built on top of Node.js that simplifies the process of building web applications.

Is Express.js suitable for large applications?

Yes, Express.js is suitable for applications of all sizes. It can handle everything from small web apps to large-scale enterprise applications.

Can I use Express.js with other templating engines?

Yes, Express.js supports various templating engines such as Pug, EJS, and Handlebars, allowing you to generate dynamic HTML content.