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.