GithubHelp home page GithubHelp logo

expressjs / express Goto Github PK

View Code? Open in 1sVSCode Editor NEW
57.1K 1.7K 9.4K 8.89 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.

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


Connor Logan avatar Hosein avatar Md Sifatul Islam Rabbi avatar Sergey Sovgut avatar  avatar Mouaad avatar Frans Sebastian avatar healvi avatar  avatar Mir.LING avatar Jason avatar Kasonz avatar Excellency_jumo avatar  avatar  avatar Mahan avatar cstef avatar Hayyan avatar Valentin avatar Daniel Fry avatar Himanshu Pant avatar wuyintao avatar  avatar Bruno Souto avatar Jean Carlos Santoya avatar kincjf avatar Sanzhar avatar Nick Herrig avatar bL-Jd avatar simexce avatar Mark Harris avatar Maciej Lasoń avatar  avatar Tiger Huo avatar Renato Lins avatar Damien Butt avatar Joeru avatar o.myronov avatar 舰芒 avatar Guillaume avatar Dear John avatar Nigatu Endalkachew avatar Ankur Singh avatar  avatar Geovannio Frederico de Jesus Vinhas avatar jovellabay avatar Polukarov Maxim avatar Marco avatar Ethan Sclarsky avatar Mustafa Ersoy avatar Christian Laufenböck avatar Emma avatar Cosmic avatar  avatar Moinul Moin avatar Ulug'bek Yo'lchimurodov avatar 一只月月鸟呀 avatar  avatar  avatar SooJeen Park avatar Leandro Toledo avatar Steve Boyer avatar DanielEO avatar Jacky Lee avatar Maxim Yurevich avatar Arseniy Kotliarov avatar Ilham Jaya Kusuma avatar Tobias Toland avatar Bilal Akkil avatar  avatar Sergio Rivera avatar João Marques avatar Derek Sonnenberg avatar Stoyz avatar American Psycho avatar  avatar Peko avatar Yuho Jeong avatar  avatar Ellias Matheus avatar Emon Khan avatar Gabriel avatar john theisen avatar  avatar Gunawan avatar Mahfuz Ahamed avatar Nestor Antonio Castro Castillo avatar  avatar Avanat_Garde avatar Gunnar avatar MurphyChen avatar lifeng87 avatar Riziq Lili Ulil Albab avatar  avatar Alberto Kitumba avatar Kirolos  avatar  avatar stefan avatar Kasra Alizadeh avatar Vu Thanh Dat 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 Abd Shomad 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 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

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


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.

Module init args

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

use(DefaultContentType, 'text/html')

Profiling for views etc

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

View caching mechanism

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

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.