default-express
The default express set up used for many projects.
Working With
Requirements
- NodeJS >=10.0.0
- other requirements
Configuration
This module, like many other @bouncingpixel
modules, relies on nconf.
The following configuration keys should be defined to use this module:
See additional information for:
- dust-helpers
- error-router
- express-async-patch
- express-handler-routing
- express-view-routing
- http-errors
- universal-response
- And any additional packages you may require in.
Required
-
sessionSecret
The secret to use for securing session cookies. -
PORT
The port to start Express on.
Optional
-
siterootHost
The domain of the site, used in canonical URLs and emails sent out, but can be used in other places with redirects. -
forceDomain
Set to true if the site should redirect to force thedomain
listed. Defaults tofalse
. -
requireHTTPS
Set to true if the site should use HTTPS in all URLs (such as canonical). Defaults tofalse
. -
httpsRedirect
Set to true if the site should redirect to HTTPS. You might want false and let CloudFlare do it. Defaults tofalse
. -
gatrackerid
The tracker ID for Google Analytics. When set, the GA code will be added to the page. -
facebookpixelcode
The tracker ID for Facebook Pixel. When set, the Facebook Pixel code will be added to the page. -
WEBTOOLS_VERIF_ID
Can be set to the ID needed by Webmaster Tools verification to create the .html page with the necessary content. -
client
An optional object and have other keys defined within it. These keys are exported to the/js/config.js
as well as Dust underENV.
-
webpackConfigPath
The path to the webpack config file ifwebpack-dev-middleware
is desired. -
routesPath
The path to the routes folder to automatically generate routes. Defaults to./server/routes
. -
viewPagesFolder
The name of the folder in the views directory to automatically generate routes. Defaults topages
.
Using default-express
Install @bouncingpixel/default-express
. Call .init()
without a parameter or with one parameter that contains the list of initializers. Initializers may be built-in module specified by the name, such as cookie-parser
or error-router
, or can be a function which takes one parameter, the Express app, and may return a Promise for async behavior.
const DefaultExpress = require('@bouncingpixel/default-express');
DefaultExpress.init(
// you could optionally pass a different list of initializers here
);
NOTE If you make use of mongoose-db
and/or passport-auth
, those package must be initialized before requiring in default-express
.
Adding routes
Also See express-view-routing