2014-06-26 6 views
11

Wenn ich versuche, gulp-ugily mit meiner eckigen Anwendung zu verwenden, bricht es, obwohl ich es durch gulp-ngmin laufen lasse. HierGulp uglify brechenden Winkel Anwendung

ist die schluck Datei:

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

gulp.task('compress', function() { 
    gulp.src('client/js/source/*.js') 
     .pipe(concat('app.js')) 
     .pipe(ngmin()) 
     .pipe(uglify()) 
     .pipe(gulp.dest('client/js')); 
}); 
+0

Wie bricht es? Irgendwelche Hinweise von den Fehlermeldungen? – Douglas

+0

Argument 'myController' ist keine Funktion, wurde undefiniert. Im Grunde ein Controller. – Justin

+1

Wow, ich musste "client/js/source/**/*. Js" angeben, gibt es eine Möglichkeit, einfach nur nach unten zu suchen? – Justin

Antwort

34

Es hilft, die mangle Option in uglify zu deaktivieren, denn es ist mit allen Injektionsmaterial und Namensgebung ist in Unordnung.

.pipe(uglify({ mangle: false })) 
+0

Alter, vielen Dank !!! https://github.com/terinjokes/gulp-uglify –

21

Vielleicht beantwortet dies für zukünftige Benutzer, wie es scheint, die Post ist alt.

Verwenden Sie ng-annotate, um AngularJS-Probleme beim Higgern zu beheben. Installieren Sie es wie jede andere Bibliothek:

npm install gulp-ng-annotate --save-dev 

Und diese dann in Ihrem gulpfile.js verwenden:

var gulp = require('gulp') 
var concat = require('gulp-concat') 
var uglify = require('gulp-uglify') 
var ngAnnotate = require('gulp-ng-annotate') 

gulp.task('js', function() { 
    gulp.src(['src/**/module.js', 'src/**/*.js']) 
    .pipe(concat('app.js')) 
    .pipe(ngAnnotate()) 
    .pipe(uglify()) 
    .pipe(gulp.dest('.')) 
}) 

Hope this geholfen!

Quelle: https://medium.com/@dickeyxxx/best-practices-for-building-angular-js-apps-266c1a4a6917

+1

Diese 1 ist besser als mangle = false –

+0

Ich benutze diese Lösung bei der Arbeit und es hat mich nie im Stich gelassen! Danke @PhamHuyAnh! –

+1

Dies wird mehr Bytes reduzieren als {mangle = false}. – ivahidmontazer