Gulp uglify break angular приложение

При попытке использовать gulp-ugily с моим приложением angular он разбивается, хотя я запускаю его через gulp-ngmin.

Вот файл gulp:

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'));
});

Ответ 1

Это помогает отключить параметр mangle в uglify, поскольку он возится со всеми материалами для инъекций и именованием.

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

Ответ 2

Может быть, ответ на это для будущих пользователей, так как кажется, что почта устарела.

Используйте ng-annotate, чтобы исправить проблемы с AngularJS при uglifying. Установите его как любую другую библиотеку:

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

И затем используйте это в своем gulpfile.js:

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('.'))
})

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

Источник: https://medium.com/@dickeyxxx/best-practices-for-building-angular-js-apps-266c1a4a6917