【问题标题】:Error in minifed version of controller - angularjs?缩小版控制器中的错误 - angularjs?
【发布时间】:2015-01-24 13:12:32
【问题描述】:

我正在处理angularjsnode.js

问题:

我在控制器(Angular Controller js 文件)的缩小版中遇到以下错误。但它在正常版本中工作。

错误:

Error: [$injector:unpr] http://errors.angularjs.org/1.2.25/$injector/unpr?p0=eProvider%20%3C-%20e
at Error (native)
at http://localhost:8080/assets/lib/js/angularjs/angular.min.js:6:450
at http://localhost:8080/assets/lib/js/angularjs/angular.min.js:36:202
at Object.c [as get] (http://localhost:8080/assets/lib/js/angularjs/angular.min.js:34:305)
at http://localhost:8080/assets/lib/js/angularjs/angular.min.js:36:270
at c (http://localhost:8080/assets/lib/js/angularjs/angular.min.js:34:305)
at d (http://localhost:8080/assets/lib/js/angularjs/angular.min.js:35:6)
at Object.instantiate (http://localhost:8080/assets/lib/js/angularjs/angular.min.js:35:165)
at http://localhost:8080/assets/lib/js/angularjs/angular.min.js:67:419
at link (http://localhost:8080/assets/lib/js/angularjs/angular-route.js:907:26) <div ng-view="" class="ng-scope"> 

我正在使用gulp-uglify 来缩小控制器

代码

gulp.task('buildControllerScript', function(){
   return gulp.src(paths.controllers)
        .pipe(concat('controllers.js'))
        .pipe(gulp.dest('./public/dist/controllers/'))
        .pipe(rename('controllers.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./public/dist/controllers/'));
 });

注意:

uglify 时好像出了点问题。

由于隐私规则,我不能公开控制器代码

任何建议将不胜感激。

【问题讨论】:

    标签: javascript angularjs node.js gulp


    【解决方案1】:

    由于 Angular 的依赖注入依赖于你的函数参数的名称,你要么需要使用dependency annotation,要么将 uglify gulp 插件替换为gulp-ng-annotate

    【讨论】:

    • 仅供参考,我曾经使用依赖注释,它使一切变得丑陋,违反了 DRY,并且在测试时很痛苦(即使使用 ng-mock)。我切换到 ng-annotate 并更快乐
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    相关资源
    最近更新 更多