Настройка `gulp.watch` для реагирования только на сохранение файла с помощью комбинации клавиш Ctrl + S может быть достаточно сложной, так как инструменты разработки (IDE или текстовые редакторы) обычно не передают информацию о нажатии клавиш в терминал или командную строку, запущенную через Gulp.
Однако, вы можете использовать пакет `gulp-changed`, чтобы ограничить выполнение задачи только тогда, когда файлы действительно изменяются.
Вот пример измененного кода:
```javascript
const gulp = require('gulp');
const changed = require('gulp-changed');
function styles() {
return gulp.src('./src/style.css')
.pipe(changed('.app/')) // Используем gulp-changed для проверки изменений
.pipe(gulp.dest('.app/'))
}
function watcher() {
gulp.watch('./src/style.css', { events: 'all' }, styles);
}
exports.default = gulp.series(styles, watcher);
```
Теперь задача `styles` будет выполнена только в случае, если файл `style.css` фактически изменен. Если вы, например, только открыли или переместили курсор по файлу без каких-либо изменений, задача `styles` не будет выполняться. C помощью пакета `gulp-changed` мы контролируем, что файл был фактически изменен перед его обработкой.
Обратите внимание, что частота запуска задачи `styles` всё равно остается зависеть от работы Gulp, поэтому возможно потребуется настроить вашу IDE или текстовый редактор таким образом, чтобы при сохранении файла использовалась сочетание клавиш Ctrl + S.