connect-static-file
v2.0.0
Published
connect and express middleware to serve a single static file
Downloads
15,243
Maintainers
Readme
connect-static-file
Connect/express middleware to serve a single static file
Usage
var express = require('express');
var staticFile = require('connect-static-file');
var app = express();
var path = 'path/to/file.txt';
var options = {};
app.use('/foo.txt', staticFile(path, options));
Options
etag
Enable or disable etag generation, defaults to true.
extensions
If a given file doesn't exist, try appending one of the given extensions,
in the given order. By default, this is disabled (set to false
). An
example value that will serve extension-less HTML files: ['html', 'htm']
.
This is skipped if the requested file already has an extension.
lastModified
Enable or disable Last-Modified
header, defaults to true. Uses the file
system's last modified value.
maxAge
Provide a max-age in milliseconds for http caching, defaults to 0. This can also be a string accepted by the ms module.
headers
Any additional headers you would like to set on the response. This is a plain old javascript object: headers: {'X-Foo': 'bar'}
encoded
If set, assume the static file has been encoded using the specified encoding. For example encoded: 'gzip'
. This value must be a valid Content-Encoding
token.
If the browser does not support this encoding (the encoding is not specified in the Accept-Encoding
request header), this middleware will pass on the request to the next middleware. The Content-Encoding
header will be set so that the browser will uncompress the file on the fly.
This is useful if you are compressing your static files beforehand:
app.use('/bundle.js', staticFile('generated/bundle.js.gz', {encoded: 'gzip'}));
// If the file is missing, or if the browser does not support gzip, use this one instead:
app.use('/bundle.js', staticFile('generated/bundle.js'));
Other modules
If you would like to server an entire directory of possible gziped files, take a look at connect-gzip-static or ecstatic. If you would like dynamic gzip compression, try compression