2014-09-01 1 views
0

В настоящее время у меня есть код, который следит за изменениями в .less-файлах. Однако я хотел бы распечатать там путь к файлу, так что на более поздний срок я смогу добавить его в файл журнала.Распечатайте путь к файлу в grunt

grunt.initConfig({ 
watch: { 
    less: { 
    files: ['vendor/*.less'], 
    tasks: ['lessTask'], 
    options: { 
     spawn: false, 
     interrupt: true, 
    }, 
    }, 
}, 
}); 

grunt.registerTask('lessTask', function(filepath){ 
    grunt.log.writeln(filepath + ': has changed'); 
    //Compile less files to CSS 
    //Run acceptance tests for UI changes 
}); 

Мой вопрос в том, как передать аргумент 'filepath'?

ответ

1

С каждой задачей Grunt существует свойство, называемое filter, которое предназначено для использования обратного вызова для фильтрации определенных путей к файлам. Но это даст вам путь к файлу для каждого файла, подаваемого к задаче:

grunt.initConfig({ 
    less: { 
    target: { 
     src: 'vendor/*.less', 
     dest: 'dist/style.css', 
     filter: function(filepath) { 
     grunt.log.writeln(filepath + ' fed to less task'); 
     return true; 
     }, 
    }, 
    }, 
}); 

В противном случае, если вы хотели бы знать, какой файл был изменен watch задачи; он имеет значение watch:

grunt.event.on('watch', function(action, filepath, target) { 
    grunt.log.writeln(target + ': ' + filepath + ' has ' + action); 
});