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