JSPM

  • Created
  • Published
  • Downloads 294725
  • Score
    100M100P100Q17391F

A simple static file server middleware that works with both Express and Flatiron

Package Exports

  • ecstatic
  • ecstatic/lib/ecstatic/status-handlers

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ecstatic) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Ecstatic

A simple static file server middleware that works with both Express and Flatiron

  • Built-in simple directory listings
  • Shows index.html files at directory roots when they exist
  • Use it with a raw http server, express/connect, or flatiron/union!

Examples:

express

var express = require('express');
var ecstatic = require('ecstatic');

var app = express.createServer();
app.use(ecstatic(__dirname + '/public'));
app.listen(8080);

console.log('Listening on :8080');

union

var union = require('union');
var ecstatic = require('ecstatic');

union.createServer({
  before: [
    ecstatic(__dirname + '/public'),
  ]
}).listen(8080);

console.log('Listening on :8080');

flatiron

var union = require('union');
var flatiron = require('flatiron');
var ecstatic = require('ecstatic');

app = new flatiron.App();
app.use(flatiron.plugins.http);

app.http.before = [
  ecstatic(__dirname + '/public')
];

app.start(8080);

console.log('Listening on :8080');

API:

ecstatic(folder, opts={});

Pass ecstatic a folder, and it will return your middleware!

Turn on cache-control with opts.cache, in seconds.

Turn off directory listings with opts.autoIndex === false.

middleware(req, res, next);

This works more or less as you'd expect.

ecstatic.showDir(folder);

This returns another middleware which will attempt to show a directory view. Turning on auto-indexing is roughly equivalent to adding this middleware after an ecstatic middleware with autoindexing disabled.

Tests:

npm test

License:

MIT/X11.