Gulp uglify打破角度应用

Jus*_*tin 13 javascript uglifyjs angularjs gulp

gulp-ugily我尝试使用我的角度应用程序时,它正在破坏,即使我正在运行它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'));
});
Run Code Online (Sandbox Code Playgroud)

bea*_*mes 42

它有助于在uglify中禁用mangle选项,因为它会弄乱所有注入内容和命名.

.pipe(uglify({ mangle: false }))
Run Code Online (Sandbox Code Playgroud)


小智 29

也许为未来的用户回答这个问题,因为这篇帖子看起来很旧.

uglifying时使用ng-annotate修复AngularJS问题.将其安装为任何其他库:

npm install gulp-ng-annotate --save-dev
Run Code Online (Sandbox Code Playgroud)

然后在你的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('.'))
})
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!

资料来源:https://medium.com/@dickeyxxx/best-practices-for-building-angular-js-apps-266c1a4a6917