【问题标题】:Why not set `task` option for the watch task in Gruntfile?为什么不在 Gruntfile 中为 watch 任务设置 `task` 选项?
【发布时间】:2014-12-23 07:57:07
【问题描述】:

在 Gruntfile.js 中,我看到了这样的代码:

watch: {
 jsTest: {
    files: ['test/spec/{,*/}*.js'],
    tasks: ['newer:jshint:test', 'karma']
  },
  gruntfile: {
    files: ['Gruntfile.js']
  },
  livereload: {
    options: {
      livereload: '<%= connect.options.livereload %>'
    },
    files: [
      '<%= yeoman.app %>/{,*/}*.html',
      '.tmp/styles/{,*/}*.css',
      '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
    ]
  }
},

这部分我真的看不懂

咕噜文件:{ 文件:['Gruntfile.js'] },

还有下面的livereload 部分..

它似乎想观看Gruntfile.js,但没有为其分配任何tasks 选项。所以当Gruntfile.js 改变时什么都不会发生。那么将它添加到watch 列表有什么意义呢?

【问题讨论】:

    标签: gruntjs grunt-contrib-watch


    【解决方案1】:

    implemented a new feature 在 0.4.0 版本中允许在 Gruntfile.js 文件更改时重新加载所有 Grunt 配置。为此,不得指定任何任务。

    换句话说,如果您要指定tasks 选项,那么Grunt 在更改时不会重新加载自己的配置。按照你的方式,当 Gruntfile.js 本身发生变化时,所有配置都会更新。

    例如,如果您正在观看一些 JS 文件,并且您更改了 jsTest 任务的配置(例如,您添加了一个新的文件文件夹来观看),那么因为您也在观看 Gruntfile.js 您的新jsTest 配置将自动重新加载,而无需停止和启动 watch 任务。

    【讨论】:

    • 您介意通过示例解释此功能的用途吗?
    • 我在底部添加了一个更好的示例。如果您还有其他问题,请告诉我。
    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 2015-03-04
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多