GruntJS 不监视项目中的所有文件夹

GruntJS does not watch all folders in project

为什么 GruntJS 不监视 css/ 文件夹? 但它成功地监视了 /js 文件夹。 默认情况下手动启动功能或使用 grunt-cli 命令 gruntgrunt cssmin 的任何单独功能也可以正常工作...

我的 GruntJS 代码是:

module.exports = function(grunt) {

// 1. Вся настройка находится здесь
var d = new Date();
var y = d.getFullYear();
var bannerText = 'Created by Andrew Dyachenko ' + y + ''
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
        dist: {
            options: {
                banner: '/*' + bannerText + '*/\n'
            },
            files: {
                'js/main.min.js': ['js/main.js']
            }
        }
    },
    cssmin: {
      target: {
        files: [{
          expand: true,
          cwd: 'css/',
          src: ['*.css', '!*.min.css'],
          dest: 'css/',
          ext: '.min.css'
        }]
      }
    },
    watch: {
        options: {
            livereload: true
        },
        scripts: {
            files: ['js/*.js', 'css/*.css'],
            tasks: ['process']
        }
    }
});

// 3. Тут мы указываем Grunt, что хотим использовать этот плагин
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-newer');

// 4. Указываем, какие задачи выполняются, когда мы вводим «grunt» в терминале
grunt.registerTask('process', ['newer:uglify', 'cssmin']);
grunt.registerTask('default', ['uglify', 'cssmin', 'watch']);

};

我认为我的问题出在未定义的错误中。但现在经过小改造后,一切正常。

module.exports = function(grunt) {

var d = new Date();
var y = d.getFullYear();
var bannerText = 'Created by Andrew Dyachenko ' + y + '';

grunt.initConfig({

    jshint: {
        files: ['js/*.js', '!js/*.min.js'],
        options: {
            // eqeqeq: false,
            // curly: true,
            // es3: true,
            // es5: true,
            // noempty: true,
            // shadow: true,
            // unused: true,
            // boss: true,
            // debug: true,
            globals: {
                jQuery: true
            }
        }
    },

    uglify: {
        dist: {
            options: {
                banner: '/*' + bannerText + '*/\n'
            },
            files: [{
              expand: true,
              cwd: 'js/',
              src: ['*.js', '!*.min.js'],
              dest: 'js/',
              ext: '.min.js'
          }]
        }
    },

    cssmin: {
      target: {
        files: [{
          expand: true,
          cwd: 'css/',
          src: ['*.css', '!*.min.css'],
          dest: 'css/',
          ext: '.min.css'
        }]
      }
    },

    watch: {
        options: {
            livereload: true
        },
        files: ['<%= jshint.files %>', ['css/*.css', '!css/*.min.css']],
        tasks: ['process']
    }
});

grunt.loadNpmTasks('grunt-newer');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.registerTask('process', ['newer:jshint', 'uglify', 'cssmin']);
grunt.registerTask('default', ['jshint', 'uglify', 'cssmin', 'watch']);

};