1

除了watch github page之外,我还参考了这个答案作为起点。

我的监视任务如下所示:

watch: {
  less: {
    files: ['less/**/*.less'],
    tasks: ['less'],
    options: {
      livereload: true
    }
  },
  handlebars: {
    files: ['templates/**/*.hbs'],
    tasks: ['handlebars'],
    options: {
      livereload: true
    }
  }
}

首先我尝试使用浏览器扩展,然后我在我的 index.html 中添加了这个脚本(并验证它已加载)

<script src="//localhost:35729/livereload.js"></script>

我还尝试将其添加到我的手表 js 中:

livereload: {
  files: ['dev/**/*'],
  options: {
    livereload: true
  }
}

我也有一个连接任务,我试过运行 grunt 有或没有它都无济于事。

connect: {
  dev: {
    options: {
      port: 35729
    }
  }
}

仍然没有实时重新加载...

4

3 回答 3

1

这是我的 Gruntfile.js,我的连接版本是 0.9.0,这个配置可以用于不同的 livereroad 端口

module.exports = function (grunt) {

require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
grunt.initConfig({
    watch: {
        demo: {
            files: ['web/*.*'],
            options: {
                livereload: 5000
            }
        },
        dev:{
            files: ['web1/*.*'],
            options: {
                livereload: 3030
            }
        }
    },
    connect: {
        demo: {
            options: {
                base: "web",
                port: 1111,
                hostname: '*',
                livereload: 5000,
                open: {
                    target: 'http://127.0.0.1:1111'
                }
            }
        },
        dev:{
            options: {
                base: "web1",
                port: 2222,
                hostname: '*',
                livereload: 3030,
                open: {
                    target: 'http://127.0.0.1:2222'
                }
            }
        }
    }
})
grunt.registerTask('demo', ['connect:demo', 'watch:demo']);
grunt.registerTask('dev',['connect:dev','watch:dev']);

}

于 2014-11-26T15:43:09.093 回答
0

Watch 开箱即用,无需 livereload。您是否尝试过删除 livereload 选项和脚本包括?

然后:咕哝;咕哝手表

(默认任务是构建,然后 watch 密切关注变化)

于 2014-01-06T23:33:22.803 回答
0

这行得通吗?

watch: {
  options: { livereload: true },
  less: {
    files: ['less/**/*.less'],
    tasks: ['less']
  },
  //...
}

还可以尝试以详细模式 ( grunt do-something -v) 运行以检查 livereload 服务器是否启动以及端口是否正确。

于 2014-01-06T23:29:58.930 回答