【问题标题】:Grunt Watch repeatedly showing "Warning: must provide pattern"Grunt Watch 反复显示“警告:必须提供模式”
【发布时间】:2014-10-07 10:18:05
【问题描述】:

我在配置 Grunt 以查看我的项目文件、重建和更新托管在连接服务器中的页面时遇到问题。如果我运行任何构建任务,然后将 'watch' 作为组合任务的一部分运行,那么 'watch' 似乎会陷入循环,无休止地打印消息。

Running "watch" task
Waiting...
Warning: must provide pattern

如果我只是运行$ grunt watch,它会很高兴地监视我的源文件并根据需要编译/构建。

我认为相关的任务配置是这些:

watch: {
  html: {
    files: [ '<%= site.partials %>', '<%= site.layouts %>', '<%= site.pages %>' ],
    tasks: [ 'html' ]
  },
  sass: {
    files: [ '<%= site.src %>sass/*.scss' ],
    tasks: [ 'styles' ]
  }
},

// development server
connect: {
  options: {
    port: 8080,
    livereload: 35729,
    hostname: 'localhost',
  },
  dev: {
    options: {
      directory: 'build',
    }
  }
},

以及任务定义:

grunt.registerTask( 'build', [ 'styles', 'html', ] );
grunt.registerTask( 'default', [  'build','connect:dev', 'watch' ] );

'styles''html' 任务运行 grunt-sass 和 assemble。如上所述,运行任何这些任务,甚至单独运行'watch' 都会产生预期的结果。这表明我的配置对象正确定义了site.partialssite.dest 等。只有当我运行任何任务然后'watch' 时才会出现问题,就像在默认任务中一样。

【问题讨论】:

  • 我怀疑问题出在引用 site 对象的模板中。但是,如果没有看到您的grunt.initConfig 电话的那部分,我真的不能说。我知道这个问题现在已经很老了,但是您可以发布您的整个 Gruntfile,或者,如果您已经解决了问题,请发布您的答案?

标签: javascript gruntjs grunt-contrib-watch grunt-connect


【解决方案1】:

我刚刚在编辑 Gruntfile 时遇到了类似的问题,并且将一个字段(应该具有文件模式)留空。

检查您的 Gruntfile 是否有一个空文件字段。

在我的具体例子中:

wiredep: {
    options: {
        overrides: {
          "jquery-ui": {
              "main": [
                 "jquery-ui.js",
                 "themes/base/jquery-ui.css",
                 ""
              ]
          }
        }
    }
}

注意上面的空字符串。这产生了一个与您的错误非常相似的错误。不幸的是,Grunt 似乎没有告诉您错误在哪里。您只需手动扫描 Gruntfile 即可找到错误。

【讨论】:

  • Grunt 真的无法让你知道错误在哪里,我花了很长时间才找到它,但事实就是这样。
  • 在这种情况下,当cfg 中没有foo 时,类似"&lt;%= cfg.foo %&gt;" 的字符串也是空的。这就是我遇到的问题。
【解决方案2】:

connect:dev 是问题所在。删除它,它应该可以正常工作。

【讨论】:

  • grunt-contrib-connect 是一个多任务,应该能够同时处理多个目标。他们的文档甚至提出了许多这样的例子。为什么带有一个选项(连接需要的选项)的简单目标会导致问题?
  • 没有进一步解释,此评论是随机的,可能是由 Jean-bot 创建的。回答的目的是通知原始发布者和其他读者。为什么connect:dev 有问题?我怀疑不是。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2017-08-26
  • 2016-12-08
  • 2016-10-14
相关资源
最近更新 更多