3.19.0 • Published 4 years ago

@forrestjs/service-express v3.19.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 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

4 years ago

3.18.2

4 years ago

3.18.1

4 years ago

3.18.0

4 years ago

3.17.0

4 years ago

3.16.1

4 years ago

3.16.0

4 years ago

3.15.0

4 years ago

3.14.0

4 years ago

3.13.8

4 years ago

3.13.4

4 years ago

3.13.3

4 years ago

3.13.6

4 years ago

3.13.5

4 years ago

3.13.7

4 years ago

3.13.2

4 years ago

3.13.1

4 years ago

3.13.0

4 years ago

3.12.0

4 years ago

3.11.0

4 years ago

3.10.1

4 years ago

3.9.0

4 years ago

3.8.0

4 years ago

3.7.3

4 years ago

3.7.2

4 years ago

3.7.0

5 years ago

3.6.0

5 years ago

3.5.0

5 years ago

3.4.3

5 years ago

3.4.0

5 years ago

3.3.0

5 years ago

3.2.0

5 years ago

3.1.4

5 years ago

3.1.3

5 years ago

3.0.5

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.0

5 years ago

3.0.0-beta.0

5 years ago

3.0.0-alpha.9

5 years ago

3.0.0-alpha.8

5 years ago

3.0.0-alpha.7

5 years ago

3.0.0-alpha.6

5 years ago

3.0.0-alpha.4

5 years ago

3.0.0-alpha.3

5 years ago

3.0.0-alpha.2

5 years ago

3.0.0-alpha.1

5 years ago

3.0.0-alpha.0

5 years ago

2.9.12

5 years ago

2.9.11

5 years ago

2.9.10

5 years ago

2.9.8

5 years ago

2.9.6

5 years ago

2.9.5

5 years ago

2.9.4

5 years ago

2.9.3

5 years ago

2.9.2

5 years ago

2.9.1

5 years ago

2.9.0

5 years ago

2.8.5

5 years ago

2.8.4

5 years ago

2.8.3

5 years ago

2.8.2

5 years ago

2.8.0

5 years ago

2.7.3

5 years ago

2.7.3-y.0

5 years ago

2.7.3-alpha.4

5 years ago

2.7.3-alpha.3

5 years ago

2.7.3-alpha.2

5 years ago

2.7.3-alpha.1

5 years ago

2.7.3-alpha.0

5 years ago

2.7.2

5 years ago

2.7.1

5 years ago

2.7.0

5 years ago

2.7.0-alpha.5

5 years ago

2.7.0-alpha.4

5 years ago

2.7.0-alpha.3

5 years ago

2.7.0-alpha.2

5 years ago

2.7.0-alpha.1

5 years ago

2.7.0-alpha.0

5 years ago

2.6.1

5 years ago

2.6.0

5 years ago

2.4.1

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.1-alpha.4

5 years ago

0.1.1-alpha.3

5 years ago

0.1.1-alpha.2

5 years ago

0.1.1-alpha.1

5 years ago

0.1.1-alpha.0

5 years ago

0.1.0

5 years ago

0.0.63-alpha.0

5 years ago

0.0.61-alpha.0

5 years ago

0.0.60-alpha.0

5 years ago

0.0.58-alpha.0

5 years ago

0.0.57-alpha.0

5 years ago

0.0.55-alpha.0

5 years ago

0.0.53-alpha.0

5 years ago

0.0.52-alpha.0

5 years ago

0.0.50-alpha.0

5 years ago

0.0.49-alpha.0

5 years ago

0.0.48-alpha.0

5 years ago

0.0.46-alpha.0

5 years ago

0.0.45-alpha.0

5 years ago

0.0.44-alpha.0

5 years ago

0.0.29-alpha.0

5 years ago

0.0.23-alpha.0

5 years ago

0.0.22-alpha.0

5 years ago

0.0.21-alpha.0

5 years ago

0.0.20-alpha.0

5 years ago

0.0.19-alpha.0

5 years ago

0.0.18-alpha.0

5 years ago

0.0.17-alpha.0

5 years ago