У меня есть следующий каталог src/:

src/
---about/
------history.pug
------mission.pug
---contact/
------email.pug
---index.pug

Я хочу, чтобы мои файлы .pug были скомпилированы таким образом, чтобы они поддерживали эту иерархию каталогов даже в каталоге dist/. Что-то вроде:

dist/
---about/
------history.html
------mission.html
---contact/
------email.html
---index.html

Я использую Gulp для обработки файлов мопсов. Можно ли этого достичь с помощью одной задачи с помощью gulp или иным образом? Спасибо!

Задача Gulp для обработки моих файлов мопсов:

gulp.task('pug', function() {
    return gulp.src('src/pug/*.pug')
    .pipe(pug({
        basedir: "./"
    }))
    .pipe(gulp.dest('dist/html'));
})
3
Mihir Chaturvedi 10 Ноя 2017 в 18:09

1 ответ

Лучший ответ
gulp.task('pug', function() {
  return gulp.src('src/**/*.pug')
   .pipe(pug())
   .pipe(gulp.dest('dist'));
})

Получит ваши файлы мопсов и поместит их туда, где, я думаю, вы хотите. В вашем коде у вас есть

.pipe(gulp.dest('dist/html')); 

Но в желаемой структуре папок dist нет папки html. Тот же комментарий, что и к

gulp.src('src/pug/*.pug')

В вашем каталоге src нет подпапки pug, почему здесь src / pug?

Также я не думаю, что {basedir: ....} - это опция для плагина pug, поэтому я удалил его.

2
Mark 10 Ноя 2017 в 18:13