title: Why isn't grunt-contrib-watch livereload working?
body: <p>I'm struggling to get Grunt's "live reload" ability (as implemented in <a href="https://github.com/gruntjs/grunt-contrib-watch#optionslivereload"><code>grunt-contrib-watch</code></a>) to work in my app. I finally bit the bullet, and tried making a minimal example. Hopefully someone can easily notice what's missing.</p>
  
  <p><strong>File Structure:</strong></p>
  
  <pre><code>├── Gruntfile.js
  ├── package.json
  ├── index.html
  </code></pre>
  
  <p><strong><code>package.json</code></strong></p>
  
  <pre><code>{
    "name": "livereloadTest",
    "version": "0.1.0",
    "devDependencies": {
      "grunt": "~0.4.2",
      "grunt-contrib-watch": "~0.5.3"
    }
  }
  </code></pre>
  
  <p><strong><code>Gruntfile.js</code></strong></p>
  
  <pre><code>module.exports = function(grunt) {
      grunt.initConfig({
          pkg: grunt.file.readJSON('package.json'),
          watch: {
              src: {
                  files: ['*.html'],
                  options: { livereload: true }
              }
          }
      });
      grunt.loadNpmTasks('grunt-contrib-watch');
  };
  </code></pre>
  
  <p><strong><code>index.html</code></strong></p>
  
  <pre><code>&lt;!doctype html&gt;
  &lt;html&gt;
  &lt;head&gt;&lt;title&gt;Test&lt;/title&gt;&lt;/head&gt;
  &lt;body&gt;
  
  &lt;p&gt;....&lt;/p&gt;
  &lt;script src="//localhost:35729/livereload.js"&gt;&lt;/script&gt;
  
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>I then run <code>grunt watch</code> and nothing <em>blows up</em>. However, no browser window opens automatically (should it?). </p>
  
  <p>When I open chrome at <code>http://localhost:35729/</code> I recieve this json: </p>
  
  <pre><code>{"tinylr":"Welcome","version":"0.0.4"}
  </code></pre>
  
  <p>and trying any other path on that port gives me </p>
  
  <pre><code>{"error":"not_found","reason":"no such route"}
  </code></pre>