nikolayshabalin
@nikolayshabalin
Автор профессиональных курсов в HTML Academy

Как компилить страницы PUG файлов, но не модули?

Есть стуктура проекта

src
  modules
    module-name
     module-name.pug
  pages
    index.pug
www
  html


module-name.pug
h1 Привет, мир.

index.pug
include ../modules/module-name/module-name.pug

Gulp-таска
const gulp          = require('gulp');
const pug           = require('gulp-pug');

gulp.task('pages', function() {
    return gulp.src(['src/**/*.pug'])
        .pipe(pug({
            doctype: 'html',
            pretty : true,
        }))
        .pipe(gulp.dest('www/html'))
});


Хотелось бы:
1) чтобы watch смотрел на все pug файлы. Чтобы при ctrl+s в модуле или странице запускалась таска.
2) чтобы компилилсь только страницы src/pages/*.pug

Не хотелось бы
1) чтобы компилились модули src/modules/**/*.pug

Что попробовал и не получилось
1) использовать pug-inheritence
2) использовать gulp-filter
Была идея watch все pug файлы src/**/*.pug
Компиляция их
Потом фильтрация не нужного '!src/modules/**/*.html'
И уже перенос файлов 'www/html'
  • Вопрос задан
  • 445 просмотров
Решения вопроса 1
werty1001
@werty1001
undefined
const gulp = require('gulp');
const pug = require('gulp-pug');

gulp.task( 'pages', function() {
    return gulp.src( 'src/pages/*.pug' )
        .pipe(pug({
            doctype: 'html',
            pretty : true,
        }))
        .pipe(gulp.dest( 'www/html' ))
});

// watch [ 'src/pages/*.pug', 'src/modules/*/*.pug' ]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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