Gulp 3 - делает файлы js в 3 раза больше обычных файлов - PullRequest
6 голосов
/ 23 марта 2019

Имея проблему с минимизацией файлов gulp и js, gulp создает в 3 раза большие файлы.

Например, lightgallery.min.js - 49kb (загружается с GitHub), затем я скачиваютот же файл через npm и требуется в js-файле (то же самое, если я вставляю загруженное содержимое файла из github)

global.lightgallery = require('lightgallery');

и запускаю gulp, это делает файл 133kb

GULPЗАДАЧА

gulp.task('scripts', function() {
    gulp.src( SOURCEPATHS.jsSource )
        .pipe( browserify() )
        .pipe( uglify() )
        .pipe( rename({ extname: '.min.js' }) )
        .pipe( gulp.dest(APPPATH.js) );
});

Не используются никакие исходные карты.

Может быть, у кого-то возникла такая же проблема?

1 Ответ

4 голосов
/ 01 апреля 2019

Пакет lightgallery зависит от jQuery, как указано , от описания npm и в его package.json . Когда Browserify делает свое дело, он проверяет граф зависимостей пакета и извлекает все в. JQuery v3.3.1 minified составляет около ~ 85kb , что должно учитывать несоответствие.

Если у вас уже есть jQuery где-то еще, вы обычно можете заставить Browserify игнорировать этот конкретный пакет. Например, используя пакет gulp-browserify:

.pipe(browserify({ ignore: 'jquery' }))

Обновление

Вы можете выборочно применить это к файлам, используя плагин gulp-if :

.pipe(
    gulpif(
        'jquery.js',
        browserify(),
        browserify({ ignore: ['jquery'] })
    )
)
...