Gulp: как не преобразовывать отмеченные файлы при копирование в готовую сборку?

Gulp.js является мощным инструментом для автоматизации задач веб-разработки. Одной из задач, которую можно решить с помощью Gulp.js, является копирование файлов в готовую сборку.

При копировании файлов с помощью Gulp.js, есть возможность настроить фильтры, чтобы определенные файлы не преобразовывались при копировании. Таким образом, можно исключить отмеченные файлы из преобразования и сохранить их в исходном виде.

Один из способов достичь этого - использовать плагин gulp-filter. Этот плагин позволяет создать фильтр для выбора файлов на основе их расширений или других критериев. Вам нужно установить этот плагин с помощью npm команды:

npm install --save-dev gulp-filter

После установки плагина, вы можете использовать его в вашем gulpfile.js. Рассмотрим пример:

const gulp = require('gulp');
const filter = require('gulp-filter');

gulp.task('copyFiles', function() {
  // Создаем фильтр для выбора файлов
  const noTransformFilter = filter(['*', '!**/*.scss', '!**/*.less', '!**/*.js']);

  // Копируем файлы, исключая отмеченные файлы
  return gulp.src('src/**/*')
    .pipe(noTransformFilter) // Фильтр применяется перед следующими шагами в конвейере
    .pipe(gulp.dest('build'));
});

В приведенном примере, мы создаем фильтр noTransformFilter, который исключает файлы с расширениями .scss, .less и .js от преобразования. Затем, мы применяем этот фильтр к пайплайну перед копированием файлов. Таким образом, отмеченные файлы не будут преобразовываться и будут скопированы в папку build.

Обратите внимание, что вы можете изменить критерии фильтрации в соответствии с вашими потребностями. Вы также можете комбинировать несколько фильтров для создания более сложных условий фильтрации.

Это только один из способов не преобразовывать отмеченные файлы при копировании в готовую сборку с помощью Gulp.js. Зависит от ваших потребностей и структуры проекта, вы можете использовать и другие плагины или методы для достижения желаемого результата.