2017-05-14 11 views
0

왜 내 app.js (angularjs) 파일에서 uglify가 작동하지 않는지 확신 할 수 없습니다. 여기 js 파일의 제 부분이 있습니다.꿀꺽 꿀꺽 마시고 javascript 파일이 작동하지 않는 이유는 무엇입니까

(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) { 

    }); 
})(); 

여기 내 꿀꺽 꿀꺽의 추하게 스크립트

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

이며 꿀꺽 꿀꺽이 성공적으로 추하게 것을 얘기하지만 난 내 응용 프로그램을 렌더링 할 때 모두에서 근무하고 나에게 해당 오류 메시지가 표시되지 것.

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"> 

uglify가 아니라 원활하게 작동합니다. 제가 놓친 것을 알려주세요. 감사.

+0

'homeCtrl'이 선언 된 방법을 공유 할 수 있습니까? – Searching

+0

'controllerAs '를 사용하고 싶다면'controller'가 라우트 config에 ld를 선언 할 필요가 있습니다. – Searching

+0

@Searching은 올바른 답을 얻기 위해 몇 가지 예를 보여줄 수 있습니까? – ppshein

답변

1

이것은 일반적으로 바로 가기 구문을 사용하여 종속성을 주입 할 때 발생합니다.

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

}) 

은 바로 가기 구문의 예입니다.

종속성이 문자열로 작성되지 않았기 때문에 좋지 않습니다. 그래서 당신이 그것을 소형화하면, 그것은 작동하지 않을 것입니다.

function(a,b) 

과 같이 될 것입니다.

대신 $inject을 사용하십시오.

자세한 내용은 here을 참조하십시오.