gruntjs是否可以在grunt.js文件更改时重新启动watch?

12

每当 grunt.js 文件发生更改时,grunt watch 可以重新启动吗?

用例: 我正在构建我的 grunt 进程,并不断更改 grunt.js 文件。我必须重新启动 grunt.js 才能查看它是否起作用。

3个回答

13

看起来这是在版本0.4.0中实现的。您可以在此处查看问题,它解释说只需监视Gruntfile即可重新加载Grunt设置的全部内容(即使没有任何任务):

watch: {
    grunt: { files: ['grunt.js'] }
}

太好了!我将其保留为grunt.js,因为您最初的问题说明它使用该名称(而不是Gruntfile.js),但只要名称正确,它就应该可以工作。 - Jordan Kasper
这对我毫无作用。 - valerio0999
我的意思是,它确实看到了它,但新的配置并没有应用于当前打开的会话。所以它是无用的。 - valerio0999
@vlrprbttst 嗯,我认为你可能有其他问题。这对我有效(并重新加载任务的配置)。你能把你的例子放在gist里吗?那样可能更容易看出问题所在。 - Jordan Kasper
它实际上是有效的。但在某些任务(例如浏览器同步)中可能无法正常工作,但实际上它确实可以在其他任务中正常工作。对此感到抱歉。 - valerio0999
没问题!很高兴你解决了那个部分。 - Jordan Kasper

1

是的,你可以实现它。例如,将 Gruntfile.js 添加到你的文件数组中。

 watch: {
     js:{
        files:['src/js/**/*.js','Gruntfile.js'],
        tasks: ['jshint','requirejs'],
      }
 }

0

这个默认行为是只在 Gruntfile 改变时重新加载。

如果你想要在其他文件改变时重新加载,你可以使用选项 reload

watch: {

        "grunt" : {
            files: ['Gruntfile.js','someotherfiles.json'],
            options: { reload: true }
        }

    },

来源:https://github.com/gruntjs/grunt-contrib-watch/pull/285


当你将Grunt配置(通常在Gruntfile.js中)拆分成单独的文件时,这非常有用。 - Meetai.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接