Next Phenomenal Microbrewery

    connect-static-file

    2.0.0 • Public • Published

    connect-static-file

    Build Status

    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

    Install

    npm i connect-static-file

    DownloadsWeekly Downloads

    6,164

    Version

    2.0.0

    License

    MIT

    Last publish

    Collaborators

    • joris-van-der-wel