【问题标题】:Grunt Watch Task Livereload Option to Point to Express Server Causes "watch.livereload.files" missingGrunt Watch 任务 Livereload 选项指向 Express 服务器导致“watch.livereload.files”丢失
【发布时间】:2014-04-27 22:07:37
【问题描述】:

我正在手动构建一个 Gruntfile.js 文件以获取学习体验。根据我的逻辑,如果其中一个静态 html/css/js 文件发生更改,我希望快速服务器重新加载。因此,在 watch 任务中,我有一个 livereload 选项,通过使用livereload: '<%= express %>' 将其指向 express 服务器任务来重新加载 express。但是,它没有按计划进行,我得到:

Running "watch" task
Waiting...
Verifying property watch.livereload.files exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch.livereload.files" missing.

我收到这条消息有争议地滚动,直到咕噜声最终中断。是什么导致了这种情况,我如何让它在其中一个静态文件发生变化时快速反弹?我宁愿将 express 任务保留在 watch 任务之外,并在 watch 任务中引用它以使其看起来更整洁。

Gruntfile.js:

module.exports = function(grunt) {
    require('load-grunt-tasks')(grunt);
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        express: {
            options: {
                port: 9000,
                script: 'app.js'
                }
            },

        watch: {
            options: {
                livereload: true
            },

            servedFiles: {
                files: '<%= pkg.name %>/static/**',
                options: {
                  livereload: true
                }
            },

            livereload: {
                options: {
                  livereload: '<%= express %>'
                  }
            }
        }
    });
    grunt.registerTask('default', 'start server', function(target) {
        grunt.task.run('watch');
        console.log("ssss");
        grunt.task.run('express');
    });
}

【问题讨论】:

    标签: javascript node.js gruntjs


    【解决方案1】:

    我在 livereload 下的选项中包含了一个带有文件列表的 files 属性,它修复了错误。话虽如此,这不会反弹快递,最好的方式只是作为任务的标准方式(确保使用 spawn: false)。

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2013-11-18
      • 1970-01-01
      • 2015-06-04
      相关资源
      最近更新 更多