title: how to get livereload working with grunt?
body: <p>I am getting my head around grunt and trying to run my site through grunt and connect. 
  I have a gruntfile like this:</p>
  
  <pre><code>module.exports = function(grunt) {
  
    // Project configuration.
    grunt.initConfig({
  
      pkg: grunt.file.readJSON('package.json'),
      connect: {
        options: {
          port: 9000,
          // Change this to '0.0.0.0' to access the server from outside.
          hostname: 'localhost',
          livereload: 35729
        },
        livereload: {
          options: {
            open: true,
            middleware: function (connect) {
              return [
                connect.static('.tmp'),
                connect().use(
                  '/bower_components',
                  connect.static('./bower_components')
                ),
                connect.static(appConfig.app)
              ];
            }
          }
        }
    });
  
    // Load the plugin that provides the "uglify" task.
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-connect');
  
    // Default task(s).
    grunt.registerTask('default', ['connect:livereload','watch']);
  
  };
  </code></pre>
  
  <p>The problem is when I run grunt I get an error:</p>
  
  <pre><code>Running "connect:livereload" (connect) task
  Warning: undefined is not a function Use --force to continue.
  
  Aborted due to warnings.
  </code></pre>
  
  <p>How can I get grunt running ?</p>