Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including gulp-refresh with all npm packages installed. Try it out:

var gulpRefresh = require("gulp-refresh")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

gulp-refresh v1.1.0

Automatically reloads your browser if files change

gulp-refresh

Build Status License

A lightweight gulp plugin for livereload to be used with a livereload middleware of your choice:

This repo is based on a fork of Cyrus David's gulp-livereload. Since he hasn't been active since a long time, it seemed like a good idea to fork it. I'm also using it in a lot of my upcoming projects and I didn't want it to just die. Please keep in mind that v1.0.0 of this plugin is equal to v3.8.1 (the latest version) of the original plugin. So no extra effort. Just replace gulp-livereload with the latest version of gulp-refresh in your dependencies.

Install

npm install --save-dev gulp-refresh

Usage

const gulp = require('gulp'),
      sass = require('gulp-sass'),
      refresh = require('gulp-refresh')

gulp.task('scss', () => {
  gulp
    .src('src/*.scss')
    .pipe(sass().on('error', sass.logError)))
    .pipe(gulp.dest('dist'))
    .pipe(refresh())
})

gulp.task('watch', () => {
  refresh.listen()
  gulp.watch('src/*.scss', ['scss'])
})

Take a look at other examples here.

Options

Can either be set through livereload.listen(options) or livereload(options).

Property nameDescriptionDefault value
portThe server's port
hostThe server's host
basePathPath to prepend all given paths
startIf the server should be started automatically
quietDisable console loggingfalse
reloadPagePath to the browser's current page for a full page reloadindex.html

API

livereload([options])

Creates a stream which notifies the livereload server on what changed.

.listen([options])

Starts a livereload server. It takes an optional options parameter that is the same as the one noted above. Also you dont need to worry with multiple instances as this function will end immediately if the server is already runing.

.changed(path)

Alternatively, you can call this function to send changes to the livereload server. You should provide either a simple string or an object, if an object is given it expects the object to have a path property.

NOTE: Calling this function without providing a path will do nothing.

.reload([file])

You can also tell the browser to refresh the entire page. This assumes the page is called index.html, you can change it by providing an optional file path or change it globally with the options reloadPage.

.middleware

You can also directly access the middleware of the underlying server instance (mini-lr.middleware) for hookup through express, connect, or some other middleware app

.server

gulp-livereload also reveals the underlying server instance for direct access if needed. The instance is a "mini-lr" instance that this wraps around. If the server is not running then this will be undefined.

Debugging

Set the DEBUG environment variables to * to see what's going on.

$ DEBUG=* gulp <task>

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free