首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grunt.js grunt-contrib watch事件未触发grunt.task.run

Grunt.js grunt-contrib watch事件未触发grunt.task.run
EN

Stack Overflow用户
提问于 2014-06-17 10:30:02
回答 1查看 529关注 0票数 2

我有一个Grunt.js文件,它使用了“grunt-contrib watch”和"grunt-exec",原因是我想以一种独特的方式使用handlebars预编译器的一些自定义功能。

代码:

代码语言:javascript
复制
module.exports = function(grunt) {

    grunt.initConfig({
        watch: {
            src: {
                files: ['**/*.hbs']
            }
        },
        exec: {
            preCompileTemplate: {
                cmd: function(inputFile) {

                    grunt.log.writeln('DERP DERP' + inputFile);

                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-exec');

    grunt.event.on('watch', function(action, filepath, target) {
        grunt.task.run('exec:preCompileTemplate:' + filepath);
        grunt.log.writeln('-------> ' + filepath);
        grunt.log.writeln('-------> ' + target);
    });

}

我在运行grunt watch然后更改.hbs文件时遇到的问题是,带有------>的2个grunt.log.writeln如预期的那样回显到控制台。

问题是grunt.task.run似乎从来没有运行过,因为其中包含DERP DERP DERP的控制台日志从未出现过。

我不能在grunt-contrib watcher中运行任务吗?我是不是做错了?

EN

回答 1

Stack Overflow用户

发布于 2015-08-31 03:24:14

您需要在grunt.initConfig中配置任务。你可以在他们的官方网站上看到more

代码语言:javascript
复制
grunt.initConfig({
    jshint: {
      files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
      options: {
        globals: {
          jQuery: true
        }
      }
    },
    watch: {
      files: ['<%= jshint.files %>'],
      tasks: ['jshint', 'yourAwasomeTask']
    }});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24254880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档