2016-11-09 2 views
4

Ich möchte einige JS mit Klassen hugify. Dies wird von gulp-uglify im Moment als discussed here nicht unterstützt.Wie Pipe-Eingang zu Uglify-JS-Harmonie in Schluck

habe ich getan. .

npm install uglify-js-harmony --save-dev

wie in der vorherigen Antwort geraten, aber Frontend Entwickler im Allgemeinen ist neu, ich weiß jetzt nicht, wie durch diese zu Rohr meine Quelle, wie ich mit gulp-uglify konnte.

Ich habe so etwas. .

var uglify = require('uglify-js-harmony'); 

// ... 

gulp.task('scripts', function(){ 
    return gulp.src(bower().concat(jsFiles))    
     .pipe(plumber()) 
     .pipe(concat('main.min.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest(dest + 'js')) 
     .pipe(reload({stream:true})) 
}); 

... aber es Bails sagen [17:42:40] TypeError: uglify is not a function, und ich bin ratlos, wie zu verfahren. Vielen Dank.

+1

uglify-js-harmony sieht wie ein verschachteltes Werkzeug aus, das nur für die Befehlszeile gedacht ist. Ich denke nicht, dass es hier einfach sein wird. Ich würde wahrscheinlich stattdessen durch Babel pumpen. –

+0

@AndyRay bitte sagen Sie mir mehr – learnvst

+0

https://www.npmjs.com/package/gulp-babel –

Antwort

-1

Es ist viel einfacher, nur reguläre gulp-babel in Kombination mit gulp-uglify zu verwenden. .

$ npm install --save-dev gulp-uglify gulp-babel babel-preset-es2015

Dann. . .

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


// ... 

gulp.task('scripts', function(){ 
    return gulp.src(//... src stuff 
     .pipe(babel({ presets: ['es2015']})) 
     .pipe(uglify())) 
     //... other stuff 
}); 
+1

Es ist viel einfacher, ja, aber die reguläre Uglify nicht ES6 + Syntax wie 'für erwarten', '@decorators 'und so weiter. – kernel