2016-07-05 11 views
0

ich drei js Dateien haben: 1.js, 2.e6.js und 3.jsMehrere Ströme in Gulp

Ich möchte2.e6.js throu babel passieren, dann concat es zwischen den beiden anderen (1 -> 2 -> 3), dann uglify alles.

Wie kann ich dies mit Gulp erreichen?

Beispiel

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

gulp.task('webdist', function() { 
    gulp.src(['./1.js', './2.e6.js', './3.js']) // <- 2.e6.js should pass throu .pipe(babel({ presets: ['es2015'] })) 
     .pipe(concat('out.js')) 
     .pipe(gulp.dest('./dist/')); 
}); 
+0

Haben Sie einen Basiscode? – Elfayer

Antwort

1

Sie könnten so etwas wie dies versuchen. Ich habe es nicht getestet, sagen Sie mir, ob es nicht das tut, was Sie erwarten oder wenn es Fehler gibt.

var gulp = require('gulp'); 
var babel = require('gulp-babel'); 
var rename = require("gulp-rename"); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 

gulp.task('babelCompilation', function() { 
    return gulp.src('./2.e6.js') 
    .pipe(babel({ 
     presets: ['es2015'] 
    })) 
    .pipe(rename({ 
     suffix: ".compiled" 
    })) 
    .pipe(gulp.dest('./')); 
}); 

gulp.task('default', ['babelCompilation'], function() { 
    return gulp.src(['./1.js', './2.e6.compiled.js', './3.js']) 
    .pipe(concat('out.js')) 
    .pipe(uglify()) 
    .pipe(gulp.dest('./dist/')); 
}); 

Sie müssen nur gulp auf einer Konsole nennen, wird es die gulp.task('default', ...); starten.

Ich habe gerade eine Aufgabenabhängigkeit hinzugefügt, die die Babel-Kompilierung durchführt.

Verwandte Themen