Grunt在看完'观看' eventListener更改文件名

时间:2014-11-05 14:44:04

标签: gruntjs grunt-contrib-watch

我正在尝试在文件更改时运行shell命令。获取最后更改的文件以用作shell命令的参数。这是代码:

grunt.initConfig({
    changedFile: 'test',

    watch: {
        all: {
            files: ['js/*.js'],
            tasks: ['shell']
        }
    },

    shell: {
        run: {
            // it outputs 'test', not changed file
            command: 'touch <%= changedFile %>'
        }
    }

});

grunt.event.on('watch', function(action, filepath) {
    grunt.config('changedFile', filepath);
});

'watch'eventListener实际上可以正常工作,但是在shell命令运行后它会工作。如何在触发事件之前运行任务?

1 个答案:

答案 0 :(得分:1)

options: { nospawn: true }任务的

watch帮助了我。

感谢此主题的人:How to modify grunt watch tasks based on the file changed?