Grunt запускает оболочку после того, как 'watch' eventListener меняет имя файла

Я пытаюсь запустить команду оболочки при изменении файла. Получение последнего измененного файла для использования в качестве аргумента для команды оболочки. Вот код:

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 действительно работает, но это происходит после запуска команды оболочки. Как я могу запустить задачу до того, как событие будет запущено?


person nikoloza    schedule 05.11.2014    source источник


Ответы (1)


В этом мне помог options: { nospawn: true } для задачи watch.

Спасибо, ребята из этой темы: Как изменить задачи grunt watch на основе измененного файла?

person nikoloza    schedule 04.12.2014