\href{http://expressjs.com/}{\texttt{ }}

Fast, unopinionated, minimalist web framework for \href{http://nodejs.org}{\texttt{ node}}.

\href{https://npmjs.org/package/express}{\texttt{ }} \href{https://npmjs.org/package/express}{\texttt{ }} \href{https://travis-ci.org/expressjs/express}{\texttt{ }} \href{https://ci.appveyor.com/project/dougwilson/express}{\texttt{ }} \href{https://coveralls.io/r/expressjs/express?branch=master}{\texttt{ }}


\begin{DoxyCode}{0}
\DoxyCodeLine{const express = require('express')}
\DoxyCodeLine{const app = express()}
\DoxyCodeLine{}
\DoxyCodeLine{app.get('/', function (req, res) \{}
\DoxyCodeLine{  res.send('Hello World')}
\DoxyCodeLine{\})}
\DoxyCodeLine{}
\DoxyCodeLine{app.listen(3000) }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9859}{}\doxysubsection{Installation}\label{md_sfcode_node_modules_express_Readme_autotoc_md9859}
This is a \href{https://nodejs.org/en/}{\texttt{ Node.\+js}} module available through the \href{https://www.npmjs.com/}{\texttt{ npm registry}}.

Before installing, \href{https://nodejs.org/en/download/}{\texttt{ download and install Node.\+js}}. Node.\+js 0.\+10 or higher is required.

Installation is done using the \href{https://docs.npmjs.com/getting-started/installing-npm-packages-locally}{\texttt{ {\ttfamily npm install} command}}\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm install express }

\end{DoxyCode}


Follow \href{http://expressjs.com/en/starter/installing.html}{\texttt{ our installing guide}} for more information.\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9860}{}\doxysubsection{Features}\label{md_sfcode_node_modules_express_Readme_autotoc_md9860}

\begin{DoxyItemize}
\item Robust routing
\item Focus on high performance
\item Super-\/high test coverage
\item HTTP helpers (redirection, caching, etc)
\item View system supporting 14+ template engines
\item Content negotiation
\item Executable for generating applications quickly
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9861}{}\doxysubsection{Docs \& Community}\label{md_sfcode_node_modules_express_Readme_autotoc_md9861}

\begin{DoxyItemize}
\item \href{http://expressjs.com/}{\texttt{ Website and Documentation}} -\/ \mbox{[}\href{https://github.com/expressjs/expressjs.com}{\texttt{ website repo}}\mbox{]}
\item \href{https://webchat.freenode.net/?channels=express}{\texttt{ \#express}} on freenode IRC
\item \href{https://github.com/expressjs}{\texttt{ Git\+Hub Organization}} for Official Middleware \& Modules
\item Visit the \href{https://github.com/expressjs/express/wiki}{\texttt{ Wiki}}
\item \href{https://groups.google.com/group/express-js}{\texttt{ Google Group}} for discussion
\item \href{https://gitter.im/expressjs/express}{\texttt{ Gitter}} for support and discussion
\end{DoxyItemize}

{\bfseries{PROTIP}} Be sure to read \href{https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x}{\texttt{ Migrating from 3.\+x to 4.\+x}} as well as \href{https://github.com/expressjs/express/wiki/New-features-in-4.x}{\texttt{ New features in 4.\+x}}.\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9862}{}\doxysubsubsection{Security Issues}\label{md_sfcode_node_modules_express_Readme_autotoc_md9862}
If you discover a security vulnerability in Express, please see Security Policies and Procedures.\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9863}{}\doxysubsection{Quick Start}\label{md_sfcode_node_modules_express_Readme_autotoc_md9863}
The quickest way to get started with express is to utilize the executable \href{https://github.com/expressjs/generator}{\texttt{ {\ttfamily express(1)}}} to generate an application as shown below\+:

Install the executable. The executable\textquotesingle{}s major version will match Express\textquotesingle{}s\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm install -\/g express-\/generator@4 }

\end{DoxyCode}


Create the app\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ express /tmp/foo \&\& cd /tmp/foo }

\end{DoxyCode}


Install dependencies\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm install }

\end{DoxyCode}


Start the server\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm start }

\end{DoxyCode}


View the website at\+: \href{http://localhost:3000}{\texttt{ http\+://localhost\+:3000}}\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9864}{}\doxysubsection{Philosophy}\label{md_sfcode_node_modules_express_Readme_autotoc_md9864}
The Express philosophy is to provide small, robust tooling for HTTP servers, making it a great solution for single page applications, web sites, 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 \href{https://github.com/tj/consolidate.js}{\texttt{ Consolidate.\+js}}, you can quickly craft your perfect framework.\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9865}{}\doxysubsection{Examples}\label{md_sfcode_node_modules_express_Readme_autotoc_md9865}
To view the examples, clone the Express repo and install the dependencies\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ git clone git://github.com/expressjs/express.git -\/-\/depth 1}
\DoxyCodeLine{\$ cd express}
\DoxyCodeLine{\$ npm install }

\end{DoxyCode}


Then run whichever example you want\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ node examples/content-\/negotiation }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9866}{}\doxysubsection{Tests}\label{md_sfcode_node_modules_express_Readme_autotoc_md9866}
To run the test suite, first install the dependencies, then run {\ttfamily npm test}\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\$ npm install}
\DoxyCodeLine{\$ npm test }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9867}{}\doxysubsection{Contributing}\label{md_sfcode_node_modules_express_Readme_autotoc_md9867}
Contributing Guide\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9868}{}\doxysubsection{People}\label{md_sfcode_node_modules_express_Readme_autotoc_md9868}
The original author of Express is \href{https://github.com/tj}{\texttt{ TJ Holowaychuk}}

The current lead maintainer is \href{https://github.com/dougwilson}{\texttt{ Douglas Christopher Wilson}}

\href{https://github.com/expressjs/express/graphs/contributors}{\texttt{ List of all contributors}}\hypertarget{md_sfcode_node_modules_express_Readme_autotoc_md9869}{}\doxysubsection{License}\label{md_sfcode_node_modules_express_Readme_autotoc_md9869}
\mbox{[}MIT\mbox{]}(LICENSE) 