Как в Gulp скомпилировать сторонние библиотеки в отдельные файлы js и css?

Для компиляции сторонних библиотек в отдельные файлы js и css в Gulp можно использовать несколько плагинов и следующий подход.

1. Установите Gulp и необходимые плагины:

npm install gulp gulp-concat gulp-uglify gulp-cssnano --save-dev

2. Создайте файл gulpfile.js в корневой папке вашего проекта и подключите необходимые модули:

const gulp = require('gulp');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const cssnano = require('gulp-cssnano');

3. Создайте задачу Gulp для компиляции сторонних библиотек.

gulp.task('compile-dependencies', function() {
  // Путь к файлам сторонних библиотек
  const jsFiles = [
    'node_modules/jquery/dist/jquery.js',
    'node_modules/bootstrap/dist/js/bootstrap.js',
    // Добавьте пути к остальным файлам js
  ];
  const cssFiles = [
    'node_modules/bootstrap/dist/css/bootstrap.css',
    // Добавьте пути к остальным файлам css
  ];

  // Компилируем js файлы
  gulp.src(jsFiles)
    .pipe(concat('dependencies.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest('dist/js'));

  // Компилируем css файлы
  gulp.src(cssFiles)
    .pipe(concat('dependencies.min.css'))
    .pipe(cssnano())
    .pipe(gulp.dest('dist/css'));
});

В данном примере создается задача с именем compile-dependencies, в которой определены пути к файлам сторонних библиотек для компиляции. Затем файлы объединяются с помощью плагина concat, а затем минифицируются с использованием uglify (для js файлов) и cssnano (для css файлов). Наконец, скомпилированные файлы сохраняются в папке dist/js и dist/css соответственно.

4. Запустите задачу в Gulp.

Запустите задачу compile-dependencies в Gulp из командной строки:

gulp compile-dependencies

Gulp выполнит задачу, компилируя сторонние библиотеки в отдельные файлы js и css.

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