Задать вопрос
@denis2601

Почему не срабатывает плагин gulp-changed?

Структура проекта такая:
dist
  - css
  - js
  - vendor
src
  - components
    - index
      - template
        - include_file_1.html
        - include_file_2.html

      - index.html
    - alerts
    - team
    - ...
  - js
  - scss

Сборка html файлов:
var gulp = require('gulp'),
    changed = require('gulp-changed'),
    fileInclude = require('gulp-file-include');

    gulp.task('html', function () {
      gulp.src('src/components/**/index.html')
        .pipe(changed('dist', {hasChanged: changed.compareSha1Digest}))
        .pipe(fileInclude())
        .pipe(gulp.dest('dist'))
    });

Дело в том что при сборки файлов, собираются все, а надо что бы собирался только тот что был изменен(1), и конечно пересобирались те файлы в которые входят инклюды(2). Почитал по форумам, и пишут что плагин gulp-changed умеет отслеживать такие файлы (2), и даже если бы только пересобирались это (1), так вообще ни какой реакции, компилит все подряд.
Что я делаю не так, подскажите?
  • Вопрос задан
  • 399 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега Gulp.js
frontend developer
Используйте gulp-changed для бинарных файлов
и gulp-changed-in-place для текстовых

Ну и плагин нужно вставлять после сборки. Вы проверяете хеш еще не обработанного файла (без инклюдов), естественно он будет отличаться от обработанного.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы