Проект разросся и стало мучительно долго ждать, когда он пересоберется. Минутами. Как оптимизировать пересборку только измененных pug-файлов и зависимых от них файлов?Где-то видела, что есть такая штука
https://github.com/mrmlnc/emitty/tree/master/packa... именно для этого.
Мой файл gulpfile.js
global.$ = {
path: {
task: require('./gulp/paths/tasks.js')
},
gulp: require('gulp'),
del: require('del'),
fs: require('fs'),
browserSync: require('browser-sync').create(),
gp: require('gulp-load-plugins')(),
scss: require('gulp-sass'),
rename: require('gulp-rename')/*,
realFavicon: require ('gulp-real-favicon'),*/
};
$.path.task.forEach(function(taskPath) {
require(taskPath)();
});
$.gulp.task('dev', $.gulp.series(
'clean',
$.gulp.parallel('favicon', 'styles:dev', 'styles-lk', 'pug', 'pugphp', 'libsJS:dev', 'js:copy', 'libsCSS:dev', 'libs:dev', 'svg', 'img:dev', 'fonts','svg:copy')/*,
'generate-favicon',
'inject-favicon-markups'*/
));
$.gulp.task('build', $.gulp.series(
'clean',
$.gulp.parallel('favicon', 'styles:build', 'styles-lk', 'pug', 'libsJS:build', 'js:copy', 'libsCSS:build','libs:build', 'svg', 'img:build', 'fonts','svg:copy')/*,
'generate-favicon',
'inject-favicon-markups'*/
));
$.gulp.task('default', $.gulp.series(
'dev',
$.gulp.parallel(
'watch',
'serve'
)
));
А вот таск pug:
module.exports = function() {
$.gulp.task('pug', ()=> {
return $.gulp.src('./dev/pug/pages/*.pug')
.pipe($.gp.pug({
locals : {
nav: JSON.parse($.fs.readFileSync('./data/navigation.json', 'utf8')),
content: JSON.parse($.fs.readFileSync('./data/content.json', 'utf8')),
},
pretty: true
}))
.on('error', $.gp.notify.onError(function(error) {
return {
title: 'Pug',
message: error.message
};
}))
.pipe($.gulp.dest('./build/'))
.on('end', $.browserSync.reload);
});
});