Giter Site home page Giter Site logo
express

expressjs / express Goto Github PK

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

Fast, unopinionated, minimalist web framework for node.

Home Page: https://expressjs.com

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')
})

app.listen(3000)

Installation

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.

Features

  • 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

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

Examples

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

$ git clone git://github.com/expressjs/express.git --depth 1
$ cd express
$ npm install

Then run whichever example you want:

$ node examples/content-negotiation

Contributing

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

People

The original author of Express is TJ Holowaychuk

The current lead maintainer is Douglas Christopher Wilson

List of all contributors

License

MIT

express's People

Contributors

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

Stargazers

Alexander Kögel avatar  avatar Junerver Hou avatar Edouard Desparois-Perrault avatar Danilo Pedrosa avatar Cameron Brown avatar Juliano Silva avatar Kit PANG avatar Judy Trinh avatar  avatar lijiachen avatar  avatar  avatar  avatar yanjunjie avatar Seunmul avatar Cody Torgerson avatar  avatar Sudeep Haldar avatar Onegen avatar Euan Blades avatar Senior Software Engineer & Architect avatar Miftah Shidiq avatar Ugur Ozcelik avatar JessYan avatar Matheus Souza avatar Fatih Şen avatar  avatar Justin Wright avatar ouarrho oualid avatar shushu avatar Manav Sehgal avatar 春风化雨 avatar Utkarsh Gupta avatar Simon Goldhill avatar Md. Sumon Islam avatar pixdemia avatar Zeffry Reynando avatar Lorenzo Brasil avatar Jéromine Journet avatar Min-yeong Jeong avatar Dung Quang Dau avatar  avatar  avatar CrazyMKJ avatar Elie Waked avatar Matt Reach avatar Melih Ozdemir avatar Noskill avatar Ahmet İhsan Bozacı avatar Javier Perales Gran avatar cshung1994 avatar  avatar LunatiX avatar Doni Wicaksono avatar bmuday avatar  avatar Burden Haze  avatar Leon avatar  avatar Yan avatar Jinho Kim avatar yongseok avatar  avatar David Pérez Terol avatar  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

Watchers

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

Module init args

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

use(DefaultContentType, 'text/html')

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

})

View caching mechanism

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

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.

Profiling for views etc

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

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.