title: Grunt Live-Reload via Watch
body: <p>I'm trying to configure grunt to livereload js and less/css files on changes. While grunt does correctly "watch" and execute assigned tasks, it does not livereload the files. Below is my configuration, does anyone see what is wrong?</p>
  
  <pre><code>module.exports = function(grunt) {
  grunt.initConfig({
      pkg: grunt.file.readJSON("package.json"),
      jshint: {
          files: ["Gruntfile.js", "src/javascripts/**/*.js"],
          options: {
              globals: {
                  jQuery: true,
                  console: true,
                  module: true
              }
          }
      },
      concat: {
          options: {
              stripBanners: true,
              banner: "/*! &lt;%= pkg.name %&gt; - v&lt;%= pkg.version %&gt; - &lt;%= grunt.template.today('yyyy-mm-dd') %&gt; */\n",
              separator: "\n"
          },
          js: {
              src: ["src/javascripts/main.js", "src/javascripts/**/*.js"],
              dest: "../app/assets/javascripts/application.js"
          },
          less: {
              src: ["src/stylesheets/**/*.less"],
              dest: "../app/assets/stylesheets/application.less"
          }
      },
      watch: {
          js: {
              files: ["&lt;%= jshint.files %&gt;"],
              tasks: ["jshint", "concat:js"],
              options: {
                  livereload: true
              }
          },
          less: {
              files: ["&lt;%= concat.less.src %&gt;"],
              tasks: ["concat:less"],
              options: {
                  livereload: true
              }
          }
      }
  });
  
  grunt.loadNpmTasks("grunt-contrib");
  
  grunt.registerTask("default", ["jshint", "concat"]);
  };
  </code></pre>
  
  <p>Note: I have included the following script tag within the html head tag.</p>
  
  <pre><code>&lt;script src="http://localhost:35729/livereload.js"&gt;&lt;/script&gt;
  </code></pre>