angularjs uglifyjs gulp ngmin

angularjs - Gulp ngmin+uglify no funciona correctamente



uglifyjs (2)

La solución estaba ejecutando uglify task con la opción mangle configurada en false es decir: .uglify({mangle: false})

código completo:

gulp.task(''scripts'', function() { return gulp.src(''app/js/**/*.js'') .pipe(jshint(''.jshintrc'')) .pipe(jshint.reporter(''default'')) .pipe(concat(''main.js'')) .pipe(ngmin()) .pipe(gulp.dest(''app/dist/js'')) .pipe(rename({suffix: ''.min''})) .pipe(uglify({mangle: false})) .pipe(gulp.dest(''app/dist/js'')) .pipe(livereload(server)) .pipe(notify({ message: ''Scripts task complete'' })); });

Tengo la siguiente tarea trilla:

gulp.task(''scripts'', function() { return gulp.src([''app/js/app.js'', ''app/config/config.js'', ''app/js/controllers.js'', ''app/js/directives.js'' , ''app/js/filters.js'', ''app/js/footer.js'', ''app/js/guideTour.js'', ''app/js/mobileBanner.js'', ''app/js/services.js'', ''app/js/youtube.js'', ''app/js/dataSync.js'', ''app/js/addthis.js'']) //.pipe(jshint(''.jshintrc'')) .pipe(jshint.reporter(''default'')) .pipe(concat(''main.js'')) .pipe(ngmin()) .pipe(gulp.dest(''app/dist/js'')) .pipe(rename({suffix: ''.min''})) .pipe(uglify()) .pipe(gulp.dest(''app/dist/js'')) .pipe(livereload(server)) .pipe(notify({ message: ''Scripts task complete'' })); });

El problema es que el archivo concatenado que también es el resultado de ngmin (), funciona bien, pero después de verificar el código, algo se rompe y aparece el siguiente error .

Sin indicador específico donde comenzar a depurar.

Rastreo de pila:

Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?p0=eProvider%20%3C-%20e at Error (native) at http://localhost:8000/angular/angular.min.js:6:449 at http://localhost:8000/angular/angular.min.js:32:125 at Object.c [as get] (http://localhost:8000/angular/angular.min.js:30:200) at http://localhost:8000/angular/angular.min.js:32:193 at c (http://localhost:8000/angular/angular.min.js:30:200) at Object.d [as invoke] (http://localhost:8000/angular/angular.min.js:30:417) at http://localhost:8000/angular/angular-route.min.js:10:302 at Object.q [as forEach] (http://localhost:8000/angular/angular.min.js:7:380) at http://localhost:8000/angular/angular-route.min.js:10:248


No necesitas configurar mangle en falso, solo puedes usar ng-annotate y llamar a tu gulpfile.js así:

var ngAnnotate = require(''gulp-ng-annotate'') ... gulp.task(''scripts'', function() { return gulp.src(''app/js/**/*.js'') .pipe(jshint(''.jshintrc'')) .pipe(jshint.reporter(''default'')) .pipe(concat(''main.js'')) .pipe(ngmin()) .pipe(gulp.dest(''app/dist/js'')) .pipe(rename({suffix: ''.min''})) .pipe(ngAnnotate()) .pipe(uglify()) .pipe(gulp.dest(''app/dist/js'')) .pipe(livereload(server)) .pipe(notify({ message: ''Scripts task complete'' })); });

trabaja en mis proyectos para la aplicación en un solo archivo