Часы Gulp продолжают работать после сохранения файла - PullRequest
0 голосов
/ 08 апреля 2020

Я установил gulp, чтобы минимизировать мой JS файл. Когда я запускаю gulp watch, наблюдатель ожидает изменения файла, так что это хорошо. Однако, когда я изменяю файл и сохраняю его, задача наблюдения запускается не один раз, а продолжает запускаться и не останавливается. Я должен вручную остановить задачу, нажав ctrl + c.

Это мой gulpfile.js файл:

var gulp = require('gulp');
var minify = require('gulp-minify');

gulp.task('min-js', function() {
    return gulp.src('lib/app.js')
        .pipe(minify({
            ext: {
                min: '.min.js'
            },
            ignoreFiles: ['-min.js']
        }))
        .pipe(gulp.dest('lib'))
});

gulp.task('watch', function(){
  gulp.watch('lib/app.js', gulp.parallel('min-js'));
  // Other watchers
});

gulp.task('default', gulp.parallel('min-js', 'watch'));

1 Ответ

1 голос
/ 08 апреля 2020

gulp-minify выводит исходные файлы в дополнение к уменьшенным файлам.

См. Документацию здесь .

Поскольку выходные данные передаются в тот же каталог в качестве ввода lib наблюдатель видит, что входной файл был перезаписан, и снова запускается. Это приводит к бесконечному уменьшению срабатывания наблюдателя l oop.

Решения:

  1. Измените выходной каталог, чтобы он отличался от входного каталога.
  2. Используйте noSource опция для gulp-minify для предотвращения вывода исходных файлов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...