node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

inject-lr-script

inject-lr-script

stable

Inject the LiveReload script snippet into a HTML response.

This detects .htm and .html and ensures they have text/html accept headers, if not yet set.

Example:

var liveReload = require('inject-lr-script')
var stacked = require('stacked')
var http = require('http')
var serveStatic = require('serve-static')
 
var app = stacked()
app.use(liveReload())
app.use(serveStatic('app/'))
 
var server = http.createServer(app)

Note: This expects a <body> tag to be present in the HTML.

Usage

NPM

middleware = liveReload([opt])

Returns a function middleware(req, res, next) which injects a LiveReload <script> tag into the body of an HTML script.

Options:

  • port the live reload server port, default 35729
  • host the host, default localhost

You can also change the options at runtime:

var liveReload = require('inject-lr-script')
 
var liveInjector = liveReload()
handler.use(function (req, res, next) {
  if (liveReload) {
    liveInjector.host = myHost
    liveInjector.port = myPort
    liveInjector(req, res, next)
  } else {
    next()
  }
})

See Also

Changelog

  • 2.x - major refactor: simplified and uses a connect-style middleware to improve performance/stability
  • 1.x - uses Beefy to try and auto-detect mime type based on response events

License

MIT, see LICENSE.md for details.