2017-05-14 3 views
0

Ich kann nicht überzeugen, warum Uglify funktioniert nicht für meine app.js (angularjs) -Datei. Hier ist mein Teil der js-Datei.Warum Uglify funktioniert nicht für meine Javascript-Datei in Schluck

(function() { 
    'use strict'; 

    var coursesApp = angular.module('pwaCoursesApp',['ngRoute', 'ngSanitize']) 
    coursesApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider){ 
     $routeProvider 
     .when('/', 
      { 
       templateUrl: '/home.html', 
       controllerAs: 'homeCtrl' 
      }) 
     .otherwise({redirectTo:'/'}); 
    }]); 

    coursesApp.controller('homeCtrl', function($scope, $http) { 

    }); 
})(); 

und hier ist mein schluck uglify Skript

gulp.task('scripts', function() { 
    var sources = [ 
    'node_modules/es6-promise/dist/es6-promise.js', 
    'app/scripts/app.js', 
    ]; 

    return gulp.src(sources) 
    .pipe($.concat('main.min.js')) 
    .pipe($.uglify()) 
    .pipe(gulp.dest('dist/scripts')) 
    .pipe($.size({title: 'scripts'})); 
}); 

und schluck sagte mir, dass es erfolgreich uglify wurde, aber wenn ich meine app machen arbeitet es gar nicht und zeigen Sie mir die Fehlermeldung.

main.min.js:2 Error: [$injector:unpr] http://errors.angularjs.org/1.3.8/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20homeCtrl 
    at http://localhost:3000/scripts/main.min.js:1:6739 
    at http://localhost:3000/scripts/main.min.js:1:22851 
    at Object.r [as get] (http://localhost:3000/scripts/main.min.js:1:21847) 
    at http://localhost:3000/scripts/main.min.js:1:22924 
    at r (http://localhost:3000/scripts/main.min.js:1:21847) 
    at Object.i [as invoke] (http://localhost:3000/scripts/main.min.js:1:22103) 
    at l.instance (http://localhost:3000/scripts/main.min.js:2:10025) 
    at http://localhost:3000/scripts/main.min.js:2:1403 
    at o (http://localhost:3000/scripts/main.min.js:1:7233) 
    at x (http://localhost:3000/scripts/main.min.js:2:1387) <div ng-view="" class="ng-scope"> 

Aber nicht hässlich, es funktioniert reibungslos. Bitte lassen Sie mich wissen, was ich verpasst habe. Vielen Dank.

+0

können Sie teilen, wie 'homeCtrl' deklariert wird? – Searching

+0

Nur bemerkt, muss 'Controller 'deklarieren ld in der Route-Konfiguration, wenn Sie' ControllerAs' verwenden möchten. – Searching

+0

@Suchen können Sie ein Beispiel zeigen, um die richtige Antwort zu erhalten? – ppshein

Antwort

1

Dies geschieht im Allgemeinen, wenn Sie Ihre Abhängigkeiten mit der Shortcut-Syntax injiziert haben.

angular 
    .module('myapp') 
    .controller('myController', function ($rootScope, $location) { 

}) 

ist ein Beispiel für Shortcut-Syntax.

Es ist schlecht, weil Abhängigkeiten nicht in einer Zeichenfolge geschrieben werden. Also, wenn Sie es minimieren, wird es so etwas wie

was obvisouly nicht funktioniert.

Verwenden Sie stattdessen $inject.

Weitere Informationen finden Sie unter here.

Verwandte Themen