Skip to content
Connect middleware for `#include`-ing HTML files inside other HTML files, using `lb-include`
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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:


$ 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 }));

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.


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

var app = express();
app.use(lbInclude({ ... }));

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.


Released under the MIT license © Jeffrey Stanton

See for full license text

You can’t perform that action at this time.