📦 Express Spool
This pack binds the routes compiled in spool-router to an Express Server.
$ npm install @fabrix/spool-express --save
This spool is compatible with Express v4 and v5.
$ npm install --save express@^4
$ npm install --save express@^5.0.0-alpha.2
Load in your spool config.
// config/main.js
module.exports = {
// ...
spools: [
require('@fabrix/spool-router').RouterSpool,
require('@fabrix/spool-express').ExpressSpool
]
}
// config/main.js
module.exports = {
// ...
paths: {
...
www: path.resolve(__dirname, '..', 'public')
...
}
}
Choose a template engine.
// config/views.js
module.exports = {
engine: 'pug'
}
Then simply write your views in a directory called 'views'!
See config/web.js
for a full example.
Require field to set express version to use by setting express: require('express')
Optional field to configure CORS, can be a boolean or an object (see https://github.com/expressjs/cors#configuring-cors)
The port to listen on. 3000
by default. Can also be set via the PORT
environment variable.
The hostname of the server.
The number of seconds to cache flat files on disk being served by Express
external configuration for your express app (can be used for configuring letsencrypt)
SSL options (key
, cert
or pfx
) to allow set https protocol
Automatically redirect HTTP request to HTTPS if ssl enabled
The port to listen for http protocol if ssl enabled. If you don't want http and https, don't add this field.
Object to add custom middleware functions to Express, don't forget to add them into middlewares.order
or they will not be called
Method to customize express instance
We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.