GithubHelp home page GithubHelp logo

expressjs / express Goto Github PK

View Code? Open in Web Editor NEW
58.4K 1.7K 9.6K 8.85 MB

Fast, unopinionated, minimalist web framework for node.

Home Page:

License: MIT License

Makefile 0.06% JavaScript 99.89% Shell 0.04%
javascript nodejs express server

express's Introduction

Express Logo

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

NPM Version NPM Install Size NPM Downloads

const express = require('express')
const app = express()

app.get('/', function (req, res) {
  res.send('Hello World')



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

Before installing, download and install Node.js. Node.js 0.10 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.


  • Robust routing
  • Focus on high performance
  • Super-high test coverage
  • HTTP helpers (redirection, caching, etc)
  • View system supporting 14+ template engines
  • Content negotiation
  • Executable for generating applications quickly

Docs & Community

PROTIP Be sure to read Migrating from 3.x to 4.x as well as New features in 4.x.

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 [email protected]

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


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 Consolidate.js, you can quickly craft your perfect framework.


To view the examples, clone the Express repo and install the dependencies:

$ git clone git:// --depth 1
$ cd express
$ npm install

Then run whichever example you want:

$ node examples/content-negotiation


Linux Build Windows Build Test Coverage

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.

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, then run npm test:

$ npm install
$ npm test


The original author of Express is TJ Holowaychuk

The current lead maintainer is Douglas Christopher Wilson

List of all contributors



express's People


tj avatar dougwilson avatar jonathanong avatar defunctzombie avatar ciaranj avatar slaskis avatar blakeembrey avatar notrab avatar rauchg avatar aheckmann avatar gmethvin avatar Hashen110 avatar riadhchtara avatar 3imed-jaberi avatar aravindvnair99 avatar swrh avatar hiowenluke avatar wesleytodd avatar sorribas avatar kapouer avatar chainhelen avatar davglass avatar Fishrock123 avatar nullfirm avatar nick avatar oliversalzburg avatar crandmck avatar sakateka avatar roark31337 avatar benatkin avatar


Samuel Torres avatar Maik Ro avatar scheem avatar Marcus Evans avatar jay avatar  avatar  avatar  avatar Mo avatar Damián Sciutto avatar Ersoy Filinte avatar  avatar  avatar Rahul Jyala avatar  avatar Werick da Silva Santana avatar  avatar  avatar Guoyu Wang avatar  avatar Alex avatar Heitor Gomes avatar  avatar  avatar Paul Nunes Sabatino avatar Mohamed Hamed avatar Kkiri avatar Humphrey Mutuma avatar Fred Campo avatar abdou sfayhi avatar Florian Winkler avatar Jervis avatar Sergi Mayol avatar Binh Nguyen avatar  avatar Rabeeh Ebrahim avatar George Spanos avatar Muhammad Sajedul Karim Noman avatar Dina Pal avatar Samuel Monteiro avatar Ashkan avatar Mauricio Tamez avatar  avatar Strike avatar Myo Myint Aung avatar Ao Zhang - 张 傲 avatar 南枫 avatar Juan Elias Jabib avatar Cole Lewis avatar Ankit singh avatar Luis Monsalve avatar Aleksandr Solom avatar 代绪胜 avatar  avatar Romanbot4 avatar Ryo Kawaguchi avatar Rokas Rudzianskas avatar Anonimus Programus avatar  avatar elvis avatar 默小言 avatar Maximilian S avatar OrhanCan avatar Arthur avatar Victória Rose avatar Ali Abolghasemi avatar Yosef Weissmann avatar Timo Kössler avatar xiegithub avatar Marple avatar  avatar Tesfaye Girma avatar Saad Khan avatar Thomas Meckel avatar Muhammad Khan avatar Juan L avatar Gašper Dobrovoljc avatar Kauan Amorim da Silva avatar  avatar Mostofa kamal avatar sam liu avatar  avatar Fardin avatar Bünyamin Kırmızı avatar José Aguilar avatar  avatar Redfield Young avatar Ren avatar MelphinDev avatar AmirHosein avatar Abdalla Elmardi avatar Yevhen Kashkarov avatar Sithu avatar  avatar  avatar Saif Khayoon avatar Kekalainen avatar Taulant Sela avatar Daniel Evans avatar Francisco Oliveira avatar


Tom McKelvey avatar Aaron Sheriff avatar Rai Escarez avatar Dongkyu Kim avatar fabrizio avatar Aurélien Drouet avatar arden avatar Masafumi Fujiwara avatar Jimmy Lam avatar a2c avatar mifan avatar Rami Bitar avatar azu avatar Pereira Ricardo avatar Facundo Cabrera avatar Will Curran avatar  avatar  avatar Cody Haines avatar  avatar  avatar saksoy avatar Linces Marques avatar Libing Chen avatar Dimitri del Marmol avatar Jeff Fox avatar Henry Huang avatar Douglas Wilson avatar Filipe Abreu avatar Ji Can avatar Abdul Wahid avatar chaosim avatar  avatar Emil Petkov avatar Matt Chadburn avatar Jawf avatar Craig Sharkie avatar  avatar František Hába avatar sharper avatar  avatar Gabriel Tudor avatar  avatar ROHITHA DASSANAYAKE avatar Vishnu Atrai avatar Abhi A avatar wangliming avatar Jon Barker avatar Tran Phong Phu avatar  avatar Max Castro avatar flyleong avatar Akhmat Safrudin avatar  avatar Toshiyuki Miyazawa avatar Matteo Landi avatar Venkatakrishnan Ganesh avatar André Philip avatar Brad Walker avatar Michael Russell avatar  avatar Lee Brandt avatar  avatar Kensaku Araga avatar  avatar Chris Cinelli avatar Alex Gadea avatar Stuart Schmukler avatar Adriano Fernandes avatar Stéphane P. Péricat avatar Reggie Zhang avatar evandrix avatar  avatar S.Y. Lee avatar John Whitson avatar ketan avatar Richard Shives avatar Allen Galler avatar Daniel Hamlin avatar Linus Unnebäck avatar Sean McDonnell avatar Jarvis Ao Ieong avatar Slava avatar Dan Stephenson avatar Hengki Sihombing avatar Manuel Islas avatar Yuta Ichikawa avatar goddog avatar 静水之人 avatar Chuck Yang avatar Ash avatar Peter Schmidler avatar Florent Jaby avatar Barney Chen avatar Ram iyer avatar Chandra  Challa avatar allan song avatar yury avatar af4 avatar Jerry Jiang avatar

express's Issues

View caching mechanism

only cache in production env,
make sure that contrib view engines have options
to disable their own caching

Profiling for views etc

Add some rendering hooks, only really needed
once we have ORM support so we can see what
is impacting performance

Module init args

init args in module context.. and hooks in mod context so for example

use(DefaultContentType, 'text/html')

Async IO

As far as I can tell, you have a synchronous request handling.

Consequently, you will fail at

  • receiving any request body
  • integrating any type of backend

Just letting you know, because I am working on a node.js framework myself and did the exact same mistake at the beginning.

Remove route eval()

With a bit of closure magic we should be able to provide utility functions
to routes without this. Also now we may consider:

get('/user/:id/:operation', function(id, operation){


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.