Grunt Watch 未观察到 html 文件以外的任何文件的任何更改

Grunt Watch not observing any changes to any file aside from html files

这是我的 "watch" g运行t 任务的基本视图:

module.exports = function(grunt){
    require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
    grunt.initConfig({
      watch: {
          options: {
            livereload: true,
          },
        gruntfile:{
            files:['gruntfile.js'],
            tasks:['default']
        },
        html: {
            files: ['index.html', 'assets/templates/*.html'],
            tasks: ['default']
        },
        js: {
            files: ['assets/js/*.js'],
            tasks: ['default']
        },
        sass: {
            options:{
                livereload:false
            },
            files:['assets/sass/*.scss'],
            tasks:['buildcss'],
        },
        css:{
            files:['assets/sass/*.scss'],
            tasks:[]
        },
      },
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.registerTask('default', ['htmlhint','buildjs', 'buildcss', 'browserSync', 'watch','serve']);
};

所以我有 buildcss 可以将我的 scss 编译并缩小到 master.css 文件中。我已经设置了 watch 来监视 scss 的变化,运行 buildcss 任务,然后 运行 一旦 master.css 文件更新后的默认任务。然后它应该刷新页面。 但是,每当我更改 scss 文件并保存它时,终端不会显示任何文件更新,即使它显然是 "watching files..."。当我进行更改时,唯一显示为已更新的文件是 html 文件:索引和模板。对我来说完全是无稽之谈。抱歉,我是第一次在这里配置 G运行t。

我混淆了 watch 和 browserSync,而不是一起使用它们。首先,我必须将 watchTask: true 添加到 browserSync,然后我必须确保在 watch 之前调用 browserSync,然后我必须添加控制台提示我添加到我的 index.html 的代码片段。现在它完美地工作。这是我用来寻找方法的网站:http://blog.teamtreehouse.com/getting-started-with-grunt