Adds Express to your application.
- Setup Guide for adding middleware and routes.
- Common "Gotchas" encountered with Express middleware.
npm i @gasket/plugin-express
Update your gasket
file plugin configuration:
// gasket.js
+ import pluginExpress from '@gasket/plugin-express';
export default makeGasket({
plugins: [
+ pluginExpress
]
});
All the configurations for the plugin are added under express
in the config:
compression
: true by default. Can be set to false if applying compression differently.excludedRoutesRegex
: (deprecated) renamed to more correctmiddlewareInclusionRegex
.middlewareInclusionRegex
: RegExp filter to apply toward request URLs to determine when Gasket middleware will run. You can use negative lookahead patterns to exclude routes like static resource paths.- 'trustProxy': Enable trust proxy option, see Express documentation on Express behind proxies
export default makeGasket({
plugins: [
pluginExpress
],
express: {
compression: false,
middlewareInclusionRegex: /^(?!\/_next\/)/,
trustProxy: true
}
});
Get the Express app instance.
const app = actions.gasket.getExpressApp();
Each Gasket creates a single shared Express instance, ensuring consistent access to the same app instance wherever it's needed.
Executed after the middleware
event for when you need full control over
the express
instance.
export default {
name: 'sample-plugin',
hooks: {
/**
* Update Express app instance
*
* @param {Gasket} gasket The Gasket API
* @param {Express} express Express app instance
* @returns {function|function[]} middleware(s)
*/
express: async function (gasket, express) {
}
}
};
Executed after the express
event. All middleware functions returned from this
hook will be applied to Express.
export default {
name: 'sample-plugin',
hooks: {
/**
* Add Express error middlewares
*
* @param {Gasket} gasket The Gasket API
* @returns {function|function[]} error middleware(s)
*/
errorMiddleware: function (gasket) {
}
}
};
This plugins hooks the createServers lifecycles from @gasket/plugin-https.