@secretboy/express_app

Express app with some basic functionalities and options.

Usage no npm install needed!

<script type="module">
  import secretboyExpressApp from 'https://cdn.skypack.dev/@secretboy/express_app';
</script>

README

@secretboy/express_app

v2019.06.05

Express app with some basic functionalities and options.

Installation

$ npm i --save @secretboy/express_app

Usage

// require package
const sb_expressApp = require('@secretboy/express_app')

const app = sb_expressApp({
  enableZip: true,
  removeCacheHeaders: true,
  enableCompression: { threshold: 512 },
  enableCors: true,
  serveStatics: [
    { route: 'uploads', folder: 'uploads' },
    { route: 'privacy', folder: 'privacy_policy' },
    { route: 'csv', folder: 'csv' },
    { route: 'docs', folder: 'docs' },
    { route: 'assets', folder: 'assets' },
  ],
  useBodyParser: { limit: '100mb', parameterLimit: 100000 },
  middlewares: [bootstrap.bootstrap],
  setReqMethod: true,
  useMulter: true,
  useCookieParser: { secret: 'secret' },
})

Options

FieldName Type Default Description
enableZip boolean false enables express-zip package
removeCacheHeaders boolean false remove headers for caching
enableCompression CompressionOptions enable compression of response
enableCors boolean false allow cross origin requests
serveStatics [ServeStaticOptions] [] serve static files from folder
useBodyParser BodyParserOptions use body parser for parsing request payload
middlewares function use any middleware functions
setReqMethod boolean false set the req.method from req._method
useMulter boolean false user multer for file upload
useCookieParser CookieParserOptions user cookie-parser

Types

CompressionOptions

FieldName Type Default
threshold number 512

ServeStaticOptions

FieldName Type Default
route string
folder string

BodyParserOptions

FieldName Type Default
limit string 100mb
parameterLimit string 100000

CookieParserOptions

FieldName Type Default
secret string secret