@myskypesla

Как синхронизировать папки в Gulp?

Я использовал все пакеты из npm. Больше всего подходит gulp-sync-dir.

У меня такая структура исходников:

src
--img
----logo1.png
----logo2.png
--pug
----index.pug
----about.pug
--scss
----main.scss
----variables.scss


И на выходе:

dist
--img
----logo1.png
----logo2.png
--css
----main.css
--index.html
--about.html


И такие настройки sycnDir таска:
var syncDir = require('gulp-sync-dir');

gulp.task('sync-dir', function () {
  syncDir({
    src: 'src',
    target: 'dist',
    exclude: ['*.html', '*.css'],
  });
});


И соответственно gulp.watch:
gulp.task('watch', function () {
  gulp.watch('src/pug/**/*', ['pug']);
  gulp.watch('src/scss/**/*', ['scss']);
  gulp.watch('src/img/**/*', ['img', 'sync-dir']);
});


Первая сборка проекта происходит правильно, папки сравниваются и удаляются все ненужные файлы из папок. Но как только включается watch'er, и к примеру из папки src/img я удаляю картинку logo2.png, то из папки dist/img удаляется картинка logo2.png и всё ок, но ещё при этом удаляется папка dist/css и файлы index.html, about.html.

Как решить проблему?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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