Grunt Watch — плагин для отслеживания изменений
Grunt Watch — плагин для отслеживания изменений в файлах проекта. Данный плагин будет следить в реальном времени за состоянием файлов и при каких либо изменениях будет запускать связанные с ними задачи. Ссылка на Github https://github.com/gruntjs/grunt-contrib-watch
Установка Grunt Watch
Откройте консоль и из корневой папки вашего проекта запустите команду:
1 | npm install grunt-contrib-watch --save-dev |
Когда плагин установится, добавьте в файл Gruntfile.js следующую строку:
1 | grunt.loadNpmTasks('grunt-contrib-watch'); |
Запускается плагин с помощью команды grunt watch.
Настройки Grunt Watch
files
Тип: строка | массив
Определяет какие файлы будут отслеживаться.
tasks
Тип: строка | массив
Определяет какие задачи запустить после изменения файлов.
options.spawn
Тип: логический. По умолчанию: true
1 2 3 4 5 6 7 8 9 | watch: { scripts: { files: '**/*.js', tasks: ['jshint'], options: { interrupt: true, }, }, }, |
options.interrupt
Тип: логический. По умолчанию: false
1 2 3 4 5 6 7 8 9 | watch: { scripts: { files: '**/*.js', tasks: ['jshint'], options: { interrupt: true, }, }, }, |
options.debounceDelay
Тип: числовой. По умолчанию: 500
1 2 3 4 5 6 7 8 9 | watch: { scripts: { files: '**/*.js', tasks: ['jshint'], options: { debounceDelay: 250, }, }, }, |
options.event
Тип: строка | массив
Определяет событие после которого должно запускаться выполнение задачи. События могут быть 'all' , 'changed' , 'added' или 'deleted'.
1 2 3 4 5 6 7 8 9 | watch: { scripts: { files: '**/*.js', tasks: ['generateFileManifest'], options: { event: ['added', 'deleted'], }, }, }, |
options.reload
Тип: логический. По умолчанию: false
1 2 3 4 5 6 7 8 | watch: { configFiles: { files: [ 'Gruntfile.js', 'config/*.js' ], options: { reload: true } } } |
options.atBegin
Тип: логический. По умолчанию: false
Эта опция вызовет выполнение определенной функции при запуске grunt watch.
options.livereload
Установите значение true , чтобы активировать функцию livereload.
1 2 3 4 5 6 7 8 9 | watch: { css: { files: '**/*.sass', tasks: ['sass'], options: { livereload: true, }, }, }, |
Примеры
Запускаем отслеживание валидности javascript кода при любом изменении файлов:
1 2 3 4 5 6 | grunt.initConfig({ watch: { files: ['**/*'], tasks: ['jshint'], }, }); |