2ex (pronounced 2X)
A semi-opinionated framework for setting up Express apps.
Install
$ npm install --save 2ex
Usage
const createApp = require('2ex')
const runApp = createApp((app, opts = {}) => {
app.on('error', console.error)
app.get('/', (req, res) => {
res.send(`Hello ${opts.message}!`)
})
})
runApp({
port: 8080,
message: 'World'
}).then(({ app, server }) => {
const addr = server.address()
console.log(`Server started at http://${app.get('host')}:${addr.port}`)
})
What does it do?
This package sets up common requirements for running an Express app in production
with the goal of reducing boilerplate in your applications. Here is a list of some of those things:
- Uses next gen Express (
5.0.0-alpha.7
at the time of publishing this)
- Express app settings
- Remove
x-powered-by
header - Sets query string parsing to
simple
(faster, more secure, planned default for 5.0)
- Set process title (nice for identifying your server process)
- Catch, report and exit on
uncaughtException
and unhandledRejection
- Handle and report server
clientError
s - Parses JSON bodies
- Parses cookies (off by default, turn on by passing
options.parseCookies