Over a million developers have joined DZone.

Live Reload with Grunt

· Performance Zone

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Sometime back I had published an entry on Node Packing with grunt but live reload has been so fascinating to most of the webdevs, it would be worth to make your own tiny server that reloads files as and when it gets edited.

Check out the video DEMO and then read the steps below:

  • Install grunt and grunt-reload : npm install -g grunt grunt-reload

The grunt.js:

module.exports = function (grunt) {
    'use strict';
 
    //initialize grunt with config
    grunt.initConfig({
        //configure grunt-reload
        reload: {
            port: 1337, // LR Port
            liveReload: {},
            proxy: {
                host: 'localhost'
            }
        },
        trigger: {
            watchFile: 'index.html'
        },
        server: {
            port: 8000,
            base: '/labs'
        },
        watch: {
            files: ['/labs/*.html'],
            tasks: 'reload'
        }
    });
 
    //Load the extra tasks from our npm modules
    grunt.loadNpmTasks('grunt-reload');
    grunt.registerTask("run", "server reload watch");
 
};

To start the task just say : $grunt run and have fun!

P.S : grunt-contrib-reload is anyway better, but this is just the raw way of doing it.

Learn tips and best practices for optimizing your capacity management strategy with the Market Guide for Capacity Management, brought to you in partnership with BMC.

Topics:

Published at DZone with permission of Hemanth HM, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}