express README

The project's README from github.com/expressjs/express. As one markdown file: README.md.

Express Logo

Fast, unopinionated, minimalist web framework for Node.js.

Table of contents

NPM Version NPM Downloads Linux Build Test Coverage OpenSSF Scorecard Badge

import express from 'express'

const app = express()

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

app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000')
})

Installation

This is a Node.js module available through the npm registry.

Before installing, download and install Node.js. Node.js 18 or higher is required.

If this is a brand new project, make sure to create a package.json first with the npm init command.

Installation is done using the npm install command:

npm install express

Follow our installing guide for more information.

Features

Docs & Community

PROTIP Be sure to read the migration guide to v5

Quick Start

The quickest way to get started with express is to utilize the executable express(1) to generate an application as shown below:

Install the executable. The executable's major version will match Express's:

npm install -g express-generator@4

Create the app:

express /tmp/foo && cd /tmp/foo

Install dependencies:

npm install

Start the server:

npm start

View the website at: http://localhost:3000

Philosophy

The Express philosophy is to provide small, robust tooling for HTTP servers, making it a great solution for single page applications, websites, hybrids, or public HTTP APIs.

Express does not force you to use any specific ORM or template engine. With support for over 14 template engines via @ladjs/consolidate, you can quickly craft your perfect framework.

Examples

To view the examples, clone the Express repository:

git clone https://github.com/expressjs/express.git --depth 1 && cd express

Then install the dependencies:

npm install

Then run whichever example you want:

node examples/content-negotiation

Contributing

The Express.js project welcomes all constructive contributions. Contributions take many forms, from code for bug fixes and enhancements, to additions and fixes to documentation, additional tests, triaging incoming pull requests and issues, and more!

See the Contributing Guide for more technical details on contributing.

This project has a Code of Conduct. By participating, you are expected to uphold this code.

Security Issues

If you discover a security vulnerability in Express, please see Security Policies and Procedures.

Running Tests

To run the test suite, first install the dependencies:

npm install

Then run npm test:

npm test

Current project team members

For information about the governance of the express.js project, see GOVERNANCE.md.

The original author of Express is TJ Holowaychuk

List of all contributors

TC (Technical Committee)

TC emeriti members

TC emeriti members

Triagers

Triagers emeriti members

Emeritus Triagers

License

MIT

express (expressjs/express)

Searching Database…

69.6K ·GitHub
What is this?Express is a fast, unopinionated, minimalist web framework for Node.js, used for building HTTP servers, APIs, and web apps.
Is it a framework or a library?It is a framework: it provides routing, HTTP helpers, and a view system, but does not force you into a specific ORM or template engine, so you compose your own stack on top of it.
How do I get started with it?Install Node.js 18+, run npm init to create a package.json, then npm install express. You can also use the express(1) generator executable to scaffold a full app, install its dependencies, and start the server.
What do I need before installing it?You need Node.js 18 or higher and npm; Express itself depends on small utility packages like body-parser, cookie, etag, and finalhandler.
Does it include a template engine or ORM out of the box?No, Express stays minimalist and lets you plug in any of 14+ supported template engines via @ladjs/consolidate and any ORM/database you like.
What kind of apps is it meant for?Express fits single page application backends, full websites, hybrid apps, and public HTTP APIs.
What are the core features besides routing?Robust routing, HTTP helpers like redirection and caching, content negotiation, high test coverage, and an executable for generating new applications quickly.
How do I try the example apps?Clone the Express repository, install dependencies with npm, then run any of the example scripts directly from the examples folder.
Is Express still being updated or is it legacy?Yes, it is actively maintained with ongoing CI (ci.yml, codeql.yml), a scorecard check, and a migration guide for moving to Express v5.
What are similar projects?koa, hapi, martini, flask, Rocket, Slim, multer, fiber
Creator
expressjs
Size
9.8 MB
Stars
69.6K
Age
17y
Commits · 90 Days