Как мне создать файл min по тому же пути или по адресу gulp-rename и gulp-uglify? - PullRequest
0 голосов
/ 09 февраля 2020

Привет всем. Надеюсь, у вас отличный день, я пытаюсь найти способ, как сделать файл min по тому же пути или gulp.dest() на gulp (gulp- Угли и глотай-переименуй) . В моем коде ниже, когда я запускаю gulp, он продолжает создавать *.min.js, *.min.min.js, *.min.min.min.js и т. Д. И т. Д., Пока я не остановлю терминал. Как заставить мой глоток создать только один *.min.js в то же время, что и у меня. Я надеюсь, что каждый может помочь мне с этим. Спасибо.

const gulp = require('gulp');
const browserSync = require('browser-sync').create();
const rename = require('gulp-rename');
const uglify = require('gulp-uglify');

gulp.task('scripts', function() {
    return gulp.src('./src/js/*.js')       
        .pipe(uglify())
        .pipe(rename( {suffix: '.min'} ))
        .pipe(gulp.dest('./src/js/'))
        .pipe(browserSync.stream());
});

gulp.task('browserSync', function(){

    browserSync.init({
        server : {
            baseDir : './'
        }
    });
    gulp.watch('./src/js/**.js', gulp.series('scripts'));
});

gulp.task('default', gulp.series('scripts', 'browserSync'));

1 Ответ

1 голос
/ 09 февраля 2020

Это происходит потому, что ваша задача scripts выводит файлы в тот же каталог, что и вы:

.pipe(gulp.dest('./src/js/'))

и

gulp.watch('./src/js/**.js', gulp.series('scripts'));

Так каждый раз scripts запускается и сохраняет в этот каталог, он снова запускает ваш watch, который запускает scripts, et c., et c.

Так что либо сохраните ваши .min в каталог, который вы не смотрите или не смотрите .min файлы.

Кстати, измените на gulp.watch('./src/js/*.js', gulp.series('scripts')); // удалите одну звездочку

gulp.watch(['./src/js/*.js', '!./src/js/*.min.js'], gulp.series('scripts')); // может работать - хотя и не проверено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...