В настоящее время я учусь о Gulp.js. Как я видел учебник и документацию о Gulp.js, этот код:

gulp.src('js/*.js')
.pipe(uglify())
.pipe(gulp.dest('minjs'));

Делает уродливый файл javascript с созданием нового каталога с именем minjs. конечно, я установил gulp-uglity с опцией --dev-save. на консоли нет сообщения об ошибке, поэтому я не знаю, в чем проблема. Я попробовал gulp с "sudo", но все еще не работал.

Поэтому я пошел в корневой каталог и просмотрел всю файловую систему, но файла с именем minjs нет, поэтому я думаю, он просто не работает. почему это происходит? кто-нибудь знает эту проблему, было бы неплохо, почему это происходит.

Весь исходный код:

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('default', function() {
    console.log('mifying scripts...');

    gulp.src('js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('minjs'));
});
9
modernator 2 Янв 2016 в 13:21

2 ответа

Лучший ответ

У меня была такая же проблема, вы должны вернуть задачу внутри функции:

gulp.task('default', function() {
 return gulp.src("js/*.js")
    .pipe(uglify())
    .pipe(gulp.dest('minjs'));

Кроме того, MinJS не будет файлом, но папка, все ваши министерны будут сохранены.

Наконец, если вы хотите минимизировать только 1 файл, вы можете указать его напрямую, то же самое с местоположением места назначения.

Например:

var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var uglify = require('gulp-uglify');    

gulp.task('browserify', function() {
    return browserify('./src/client/app.js')
        .bundle()
        //Pass desired output filename to vinyl-source-stream
        .pipe(source('main.js'))
        // Start piping stream to tasks!
        .pipe(gulp.dest('./public/'));
});

    gulp.task('build', ['browserify'], function() {
         return gulp.src("./public/main.js")
            .pipe(uglify())
            .pipe(gulp.dest('./public/'));
    });

Надеюсь, это поможет!

9
Nicolas Medina Sanchez 27 Июн 2016 в 00:08

Наконец я решил вопрос, как это

Это была ошибка каталога, поэтому задача gulp не собрала никаких совпадающих файлов, тогда она не будет создавать никакой каталог назначения (потому что нет файлов на выходе)

Как я

const paths = {
  dest: {
    lib: './lib',
    esm: './esm',
    dist: './dist',
  },
  styles: 'src/components/**/*.less',
  scripts: ['src/components/**/*.{ts,tsx}', '!src/components/**/demo/*.{ts,tsx}'],
};

Сначала мои скрипты были ['components/**/*.{ts,tsx}', '!components/**/demo/*.{ts,tsx}']

Это не соответствовало ни одного файла.

0
Caper 19 Мар 2020 в 05:13