Miss any of our Open RFC calls?Watch the recordings here! »

diet-ecstatic

0.1.1 • Public • Published

diet-ecstatic

Static middleware for breezily deploying static content in Diet.js

Why choose diet-ecstatic?

  • diet-static is currently broken due to the mime 2.0 update
  • friendly page URLs thanks to autoindexing and default .html extension
  • caches small files in memory for maximum efficiency
  • name is a cute pun

Usage

Create the middleware by passing an options object to ecstatic

const server = require('diet')
const ecstatic = require('diet-ecstatic')
 
const app = server()
 
app.listen('http://localhost:7777')
 
app.footer(ecstatic({path: app.path + '/static'}))

The only required option is path which specifies which directory to serve files from.

Constructs a table of all files in supplied path directory and watches the directory for changes. The middleware will serve any requested file that matches a path found in the table. Note that '/static' will not necessarily be part of the requested file path, rather, it will be relative to the root of your application.

localhost:7777/favicon.ico       -->  /path/to/app/static/favicon.ico
localhost:7777/assets/script.js  -->  /path/to/app/static/assets/script.js
localhost:7777                   -->  /path/to/app/static/index.html
localhost:7777/about             -->  /path/to/app/static/about.html

Options

opts.path

The absolute path to your static files directory

opts.expires

The number of milliseconds after serving after which the file should expire and shoud be requested again.

Defaults to one day.

opts.maxCachedSize

The maximum size in bytes for a file to be cached in memory.

Defaults to 50kb. Set to 0 to disable in-memory caching.

opts.gzip

Whether or not to gzip files before serving. (Only text files are gzipped, images and other media are sent as-is).

Defaults to true.

opts.autoindex

Whether or not to serve */index.html when the root of a directory is requested.

Defaults to true.

opts.defaultExtension

The default extension to append to files when no file extension is provided.

Defaults to '.html'. Set to false to disable this feature.

Contact

Bug reports, feature requests, and other questions are all welcome: open a GitHub issue and I'll get back to you.

Install

npm i diet-ecstatic

DownloadsWeekly Downloads

3

Version

0.1.1

License

MIT

Unpacked Size

1.97 MB

Total Files

20

Last publish

Collaborators

  • avatar