0.3.0 • Published 9 years ago

connect-lb-include v0.3.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

connect-lb-include

Library for using lb-include as connect middleware (perhaps in an express app).

This will apply lb-include to all responses where Content-Type: text/html is set.

Builds hosted by Travis CI: master: , develop:

Install

$ npm install --save-dev connect-lb-include

Getting Started

For a fuller demo, look at demo/demo.js in this repo (and run it!). Here's an example of basic usage:

var express = require('express'),
    lbInclude = require('connect-lb-include'),
    serveStatic = require('serve-static');

var app = express();
app.use(lbInclude({ root: __dirname }));
app.use(serveStatic(__dirname));
app.listen(9000);

Anytime something with a Content-Type of text/html is returned by your routes, it will automatically get passed through lb-include by this middleware.

Configuration

You can pass an optional configuration object, which will be passed through to lb-include.

var app = express();
app.use(lbInclude({ ... }));
app.use(serveStatic(__dirname));
app.listen(9000);

You can pass any option supported by lb-include (see the documentation for lb-include for the entire list).

root directory

If you do not pass a root option, it will be assumed to be process.cwd()

The root option controls what the root directory is. This is passed as the root directory to lb-include, which uses it to resolve root-relative #include file paths (like <!-- #include file="/foo.html" -->).

When lb-include resolves relative include paths, it does so relative to the file. For connect-lb-include, the request URL is sanitized and mapped onto root, and that resulting location is used to resolve file-relative #includes (e.g. a response at URL /foo/bar/baz.html would be considered to be at <root>/foo/bar/baz.html for #include purposes.

License

Released under the MIT license © Jeffrey Stanton

See LICENSE.md for full license text