@Breeze1

Как верно настроить gulp file include?

Добрый день.
Помогите пожалуйста настроить верно gulp file include.

Сейчас все работает верно, только при изменении одного файл, галп начинает пересобирать сразу все html страницы, даже те которые я не трогал.

function html() {
      return src(['app/pages/**/*.html'])
        .pipe(fileinclude({
          prefix: '@@',
          basepath: '@file'
        }))
        .pipe(dest('app/'))
        .pipe(browserSync.stream());
    }

     
     
    function startwatch() {
        browserSync.init({ 
            server: {
                baseDir: "app/"
            }
        })
        watch(['app/**/*.js', '!app/**/*.min.js'], scripts);
        watch('app/**/' + preprocessor + '/**/*', styles);
        // watch('app/img/*.{jpg,jpeg,png}', convertWebp);
        watch(['app/pages/**/*'], html);
        watch(['app/*.html']).on('change', browserSync.reload);
     
    }
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 2
rqdkmndh
@rqdkmndh
Web-разработчик
вы можете использовать плагин gulp-changed. Этот плагин позволяет пересобирать только те файлы, которые были изменены:
const changed = require('gulp-changed');
function html() {
    return src(['app/pages/**/*.html'])
        .pipe(changed('app/', {extension: '.html'}))
        .pipe(fileinclude({
            prefix: '@@',
            basepath: '@file'
        }))
        .pipe(dest('app/'))
        .pipe(browserSync.stream());
}

changed('app/', {extension: '.html'}) будет проверять целевую директорию app/ на наличие HTML файлов, которые были изменены, и передавать через pipe только их
Ответ написан
Комментировать
imko
@imko
Senior Scratch Developer
Оставит в пайпе толкьо измененные с последнего зап...
но если ты меняешь включаемый компонент, с такой логикой не пересоберется ничего
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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