Gulp-terser не минует по порядку

Я использую gulp-terser для минимизации файлов js. У меня есть файл jquery и пользовательский файл js. Когда я пытаюсь запустить задачу, пользовательский код js находится в начале файла jquery. Я пытался использовать gulp-order с ним, но все равно не повезло. Вот код, который я использую:

gulp.task('build-js', function () {
    return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
        .pipe(concat('inv.min.js'))
        .pipe(terser())
        .pipe(gulp.dest('./js'));
});

заранее спасибо.


person jaykzoo    schedule 10.04.2020    source источник
comment
вы хотите, чтобы файл jquery был в начале при запуске задачи?   -  person Jérôme W    schedule 10.04.2020
comment
правильно, inv.min.js нужен jquery, поэтому сначала нужен jquery.   -  person jaykzoo    schedule 10.04.2020
comment
Я также пробовал это, но безуспешно: stackoverflow. ком/вопросы/31370600/   -  person jaykzoo    schedule 10.04.2020
comment
Вы пробовали return gulp.src(["src/js/zinv.js","src/js/jquery.min.js"]) ? Потому что я думаю, что первый src последний в порядке :)   -  person Jérôme W    schedule 10.04.2020
comment
да, я пробовал, к сожалению, не сработало.   -  person jaykzoo    schedule 10.04.2020
comment
Можете ли вы поделиться командой запуска в конце?   -  person Jérôme W    schedule 10.04.2020
comment
Вы хотите абсолютно использовать terser ?   -  person Jérôme W    schedule 10.04.2020
comment
› cmd.exe /c gulp -b C:\Users\repos\NodejsConsoleApp1 --color --gulpfile C:\Users\repos\NodejsConsoleApp1\Gulpfile.js build-js   -  person jaykzoo    schedule 10.04.2020
comment
используя краткость, потому что мой босс хочет, и мы получали ошибки, пытаясь ухудшить и минимизировать   -  person jaykzoo    schedule 10.04.2020
comment
Попробуйте написать .pipe(terser()) перед .pipe(concat('inv.min.js'))   -  person Jérôme W    schedule 10.04.2020
comment
Я написал ответ, попробуйте и скажите мне, что происходит :)   -  person Jérôme W    schedule 10.04.2020


Ответы (2)


Я думаю, вам нужно поменять местами .pipe(terser()) и .pipe(concat('inv.min.js')) и вызвать require().

Попробуй это :

var gulp = require('gulp');
var terser = require('gulp-terser');
var concat = require('gulp-concat');

gulp.task('js', function () {
    return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
        .pipe(terser())
        .pipe(concat('inv.min.js'))
        .pipe(gulp.dest('js'));
});

gulp.task('default', gulp.series('js'));

Затем на терминале перейдите в каталог, в котором сохранен gulpfile.js, и введите gulp или gulp js.

person Jérôme W    schedule 10.04.2020

Получил это, чтобы работать, переместив терзор вверх на шаг:

gulp.task('build-js', function () {
    return gulp.src(["src/js/jquery.min.js","src/js/zinv.js"])
        .pipe(terser())
        .pipe(concat('inv.min.js'))
        .pipe(gulp.dest('./js'));
})
person jaykzoo    schedule 10.04.2020