connect-browser-sync
Connect middleware for BrowserSync.
Use this middleware to automatically inject the necessary BrowserSync <script>
tags into your HTML pages. Alternatively, you can integrate BrowserSync with your app using Gulp or Grunt.
Usage
Assuming you will only use BrowserSync in development:
npm install browser-sync --save-dev
npm install connect-browser-sync --save-dev
// app.jsvar express = ;var app = ; // Other configuration... if app === 'development' var browserSync = ; var bs = browserSync; app; // Routes and handlers...
See the BrowserSync API docs for initialization options.
Notes
- You must use version 2.0.0 or greater of the
browser-sync
package. - The
app.use
statement must come before any handlers that you want to integrate with BrowserSync. This includes both dynamic route handlers and static asset handlers. - Injection only happens on responses with a
Content-Type
header oftext/html
and content containing a</body>
or</head>
tag.
Compatibility
BrowserSync 1.x
If you need to use BrowserSync 1.x, use version 1.0.2 of this package.
Turbolinks
Turbolinks and BrowserSync can conflict (see turbolinks#147 and browser-sync#977). As a workaround, you can inject the BrowserSync tags into <head>
instead.
To inject the tags into <head>
, specify { injectHead: true }
:
if app === 'development' var browserSync = ; var bs = browserSync; app;
Example
See the example folder.
License
Copyright © 2014 Chris Schmich
MIT License, See LICENSE for details.