Gruntjs — следите за изменениями в большом количестве подкаталогов и файлов

Я только недавно начал использовать grunt.js и хотел узнать, можно ли отслеживать изменения в структурах больших папок?

у меня он отлично работает в структурах папок небольших проектов, но при попытке просмотреть всю систему, такую ​​​​как magento или wordpress, или даже их части, он просто зависает и не находит никаких изменений.

Я делаю что-то неправильно?

вот мой gruntfile.js:

module.exports = function(grunt) {
grunt.initConfig({
    watch: {
        livereload: {
            files: ['template/{,*/}*'],
            options: {
                // Start a live reload server on the default port 35729
                livereload: true
            }
        }
    }
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', 'watch');
}

если вы знакомы с magento, gruntfile находится в

D:\wamp\www\magento\app\design\frontend\myTheme\default\

и просматривает папку «шаблон» и далее для изменений файлов.

в папке «шаблон» 404 файла и 242 папки. это не так уж и много, если честно... я не понимаю, почему он почти сразу не находит изменения и просто зависает.

при добавлении только одного подкаталога (например: /page содержит 25 файлов и 4 папки) в исходную ссылку на файлы gruntfile он мгновенно находит изменения.

пример:

files: ['template/page/{,*/}*']

Надеюсь, мне удалось достаточно ясно передать свой вопрос. если что-то не ясно, пожалуйста, дайте мне знать.

Спасибо за ваше время!


person Jake    schedule 25.07.2013    source источник


Ответы (1)


Хорошо, я нашел решение. проблема была с регулярным выражением, которое я использовал.

files: ['template/page/{,*/}*']

должно было:

files: ['**/*.*']

для соответствия любому файлу в любом подкаталоге.

а также:

files: ['template/**/*.*']

для соответствия всем подкаталогам и файлам в папке «шаблон».

person Jake    schedule 25.07.2013