title: How to ignore one file in a grunt-watch task?
body: <pre><code>'use strict';
  
  module.exports = function(grunt) {
      // Project Configuration
      grunt.initConfig({
          pkg: grunt.file.readJSON('package.json'),
          watch: {
              jade: {
                  files: ['app/views/**'],
                  options: {
                      livereload: true,
                  },
              },
              js: {
                  files: ['!public/build.js', 'gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
                  tasks: ['uglify', 'jshint'],
                  options: {
                      livereload: true,
                  },
              },
              html: {
                  files: ['public/views/**'],
                  options: {
                      livereload: true,
                  },
              },
              css: {
                  files: ['public/css/**'],
                  options: {
                      livereload: true
                  }
              }
          },
          jshint: {
              all: {
                  src: ['!public/build.js', 'gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
                  options: {
                      jshintrc: true
                  }
              }
          },
          uglify: {
              options: {
                  mangle: false
              },
              dist: {
                  files: {
                      'public/build.js': ['public/js/**/*.js']
                  }
              }
          },
          nodemon: {
              dev: {
                  options: {
                      file: 'server.js',
                      args: [],
                      ignoredFiles: ['public/**'],
                      watchedExtensions: ['js'],
                      nodeArgs: ['--debug'],
                      delayTime: 1,
                      env: {
                          PORT: 3000
                      },
                      cwd: __dirname
                  }
              }
          },
          concurrent: {
              tasks: ['nodemon', 'watch', 'uglify'],
              options: {
                  logConcurrentOutput: true
              }
          },
          mochaTest: {
              options: {
                  reporter: 'spec',
                  require: 'server.js'
              },
              src: ['test/mocha/**/*.js']
          },
          env: {
              test: {
                  NODE_ENV: 'test'
              }
          },
          karma: {
              unit: {
                  configFile: 'test/karma/karma.conf.js'
              }
          }
      });
  
      //Load NPM tasks 
      grunt.loadNpmTasks('grunt-contrib-watch');
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-mocha-test');
      grunt.loadNpmTasks('grunt-karma');
      grunt.loadNpmTasks('grunt-nodemon');
      grunt.loadNpmTasks('grunt-concurrent');
      grunt.loadNpmTasks('grunt-env');
  
      //Making grunt default to force in order not to break the project.
      grunt.option('force', true);
  
      //Default task(s).
      grunt.registerTask('default', ['jshint', 'concurrent']);
  
      //Test task.
      grunt.registerTask('test', ['env:test', 'mochaTest', 'karma:unit']);
  };
  </code></pre>
  
  <p>I'm trying to exclude the <code>public/build.js</code> file, but it doesn't seem to be working. What am I doing wrong?</p>