3.19.0 • Published 5 years ago

@forrestjs/service-express v3.19.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

@forrestjs/service-express

ForrestJS service which helps setting up an ExpressJS server.

Install & Setup

npm install --save @forrestjs/service-express

set it up in your ExpressJS App:

// index.js
const { runHookApp } = require('@forrestjs/hooks')
const { EXPRESS_ROUTE, ...expressService } = require('@forrestjs/service-express')

// Create an Home Page for the Web App
const homePageRoute = (req, res) => res.send('Hello World')
const homePageAction = ({ registerRoute }) => registerRoute.get('/', homePageRoute)

// Run the app:
runHookApp({
    settings: {
        express: {
            port: 8080,
        },
    },
    services: [
        expressService,
    ],
    features: [
        [ EXPRESS_ROUTE, homePageAction ],
    ],
})

Configuration & ENVs

port

express.port: 5000 sets up the port on which the server runs.

It falls back to environment variables:

  • process.env.REACT_APP_PORT
  • process.env.PORT
  • 8080 (default value)

Hooks

All the hooks exposed by service-express are asynchronous and executes in serie.

EXPRESS_HACKS_BEFORE

This hook fires before any other step. It receives a direct referenct to the app and the server.

EXPRESS_MIDDLEWARE

This hook is good to inject custom App level middleware.

const { EXPRESS_MIDDLEWARE } = require('@forrestjs/service-express')

registerAction({
    hook: EXPRESS_MIDDLEWARE,
    handler: ({ registerMiddleware }) =>
        registerMiddleware((req, res, next) => {
            req.data = 'foo'
            next()
        })
})

EXPRESS_ROUTE

const { EXPRESS_ROUTE } = require('@forrestjs/service-express')

registerAction({
    hook: EXPRESS_ROUTE,
    handler: ({ registerRoute }) =>
        registerRoute('get', '/', (req, res) => {
            res.send('Hello World')
        })
})

EXPRESS_HANDLER

This hook is good to inject custom handlers or fallback routes that you want to be sure fire after any other.

const { EXPRESS_HANDLER } = require('@forrestjs/service-express')

registerAction({
    hook: EXPRESS_HANDLER,
    handler: ({ registerHandler }) =>
        registerHandler((err, req, res, next) => {
            req.send(err)
        })
})

EXPRESS_HACKS_AFTER

This hook fires after any other step. It receives a direct referenct to the app and the server.

3.19.0

5 years ago

3.18.2

5 years ago

3.18.1

5 years ago

3.18.0

5 years ago

3.17.0

5 years ago

3.16.1

5 years ago

3.16.0

5 years ago

3.15.0

5 years ago

3.14.0

5 years ago

3.13.8

5 years ago

3.13.4

5 years ago

3.13.3

5 years ago

3.13.6

5 years ago

3.13.5

5 years ago

3.13.7

5 years ago

3.13.2

5 years ago

3.13.1

5 years ago

3.13.0

5 years ago

3.12.0

5 years ago

3.11.0

5 years ago

3.10.1

5 years ago

3.9.0

5 years ago

3.8.0

5 years ago

3.7.3

5 years ago

3.7.2

5 years ago

3.7.0

6 years ago

3.6.0

6 years ago

3.5.0

6 years ago

3.4.3

6 years ago

3.4.0

6 years ago

3.3.0

6 years ago

3.2.0

6 years ago

3.1.4

6 years ago

3.1.3

6 years ago

3.0.5

6 years ago

3.0.3

6 years ago

3.0.2

6 years ago

3.0.0

6 years ago

3.0.0-beta.0

6 years ago

3.0.0-alpha.9

6 years ago

3.0.0-alpha.8

6 years ago

3.0.0-alpha.7

6 years ago

3.0.0-alpha.6

6 years ago

3.0.0-alpha.4

6 years ago

3.0.0-alpha.3

6 years ago

3.0.0-alpha.2

6 years ago

3.0.0-alpha.1

6 years ago

3.0.0-alpha.0

6 years ago

2.9.12

6 years ago

2.9.11

6 years ago

2.9.10

6 years ago

2.9.8

6 years ago

2.9.6

6 years ago

2.9.5

6 years ago

2.9.4

6 years ago

2.9.3

6 years ago

2.9.2

6 years ago

2.9.1

6 years ago

2.9.0

6 years ago

2.8.5

6 years ago

2.8.4

6 years ago

2.8.3

6 years ago

2.8.2

6 years ago

2.8.0

6 years ago

2.7.3

6 years ago

2.7.3-y.0

6 years ago

2.7.3-alpha.4

6 years ago

2.7.3-alpha.3

6 years ago

2.7.3-alpha.2

6 years ago

2.7.3-alpha.1

6 years ago

2.7.3-alpha.0

6 years ago

2.7.2

6 years ago

2.7.1

6 years ago

2.7.0

6 years ago

2.7.0-alpha.5

6 years ago

2.7.0-alpha.4

6 years ago

2.7.0-alpha.3

6 years ago

2.7.0-alpha.2

6 years ago

2.7.0-alpha.1

6 years ago

2.7.0-alpha.0

6 years ago

2.6.1

6 years ago

2.6.0

6 years ago

2.4.1

6 years ago

2.4.0

6 years ago

2.3.0

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.1-alpha.4

6 years ago

0.1.1-alpha.3

6 years ago

0.1.1-alpha.2

6 years ago

0.1.1-alpha.1

6 years ago

0.1.1-alpha.0

6 years ago

0.1.0

6 years ago

0.0.63-alpha.0

6 years ago

0.0.61-alpha.0

6 years ago

0.0.60-alpha.0

6 years ago

0.0.58-alpha.0

6 years ago

0.0.57-alpha.0

6 years ago

0.0.55-alpha.0

6 years ago

0.0.53-alpha.0

6 years ago

0.0.52-alpha.0

6 years ago

0.0.50-alpha.0

6 years ago

0.0.49-alpha.0

6 years ago

0.0.48-alpha.0

6 years ago

0.0.46-alpha.0

6 years ago

0.0.45-alpha.0

6 years ago

0.0.44-alpha.0

6 years ago

0.0.29-alpha.0

6 years ago

0.0.23-alpha.0

6 years ago

0.0.22-alpha.0

6 years ago

0.0.21-alpha.0

6 years ago

0.0.20-alpha.0

6 years ago

0.0.19-alpha.0

6 years ago

0.0.18-alpha.0

6 years ago

0.0.17-alpha.0

6 years ago