Grunt Watch没有观察除html文件之外的任何文件的任何更改

时间:2015-06-04 18:13:55

标签: sass gruntjs task watch

这是我“观察”咕噜声任务的基本视图:

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文件并保存它时,终端显示没有文件更新,即使它显然是“正在观看文件......”。我进行更改时显示为更新的唯一文件是html文件:索引和模板。对我来说完全是无稽之谈。对不起,我是第一次在这里配置Grunt。

1 个答案:

答案 0 :(得分:0)

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