【问题标题】:Can the gruntjs watch be restarted on grunt.js file change可以在 grunt.js 文件更改时重新启动 gruntjs 手表吗
【发布时间】:2014-01-21 02:55:11
【问题描述】:

当 grunt.js 文件发生变化时是否可以重新启动 grunt watch

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

【问题讨论】:

    标签: gruntjs grunt-contrib-watch


    【解决方案1】:

    此默认行为是仅在 Gruntfile 更改时重新加载。

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

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

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

    【讨论】:

    • 这在您将 grunt 配置(通常在 Gruntfile.js 中)拆分为单独的文件时特别有用。
    【解决方案2】:

    看起来这是在版本 0.4.0 中实现的。您可以看到issue here,它解释了通过简单地查看 Gruntfile(即使没有任何任务),Grunt 设置的全部内容将被重新加载:

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

    【讨论】:

    • 太棒了!我将其保留为grunt.js,因为您的原始问题表明它使用该名称(而不是Gruntfile.js),但只要名称正确,它就可以工作。
    • 这对我没有任何作用
    • 我的意思是.. 它确实会观看它,但新配置不适用于当前打开的会话。所以没用。
    • @vlrprbttst 嗯,我想你还有其他事情要做。这对我有用(并为任务重新加载配置)。你能把你的例子放在一个要点中吗?可能更容易看到发生了什么。
    • 它确实有效。它不适用于某些任务(例如 browsersync),但实际上它确实适用于其他任务。对此感到抱歉
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 2012-06-25
      • 2016-03-12
      • 1970-01-01
      • 2012-09-04
      • 2015-01-10
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多