2017-05-14 12 views
0

私のapp.js(angularjs)ファイルでuglifyが動作しない理由を確信できません。ここにjsファイルの私の部分があります。なぜuglifyがgulpの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) { 

    }); 
})(); 

、ここでは私の一気のuglifyスクリプト

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

あると一息、それが成功しuglifyたことを私に言ったが、私は私のアプリをレンダリングするとき、それはすべてで働いて、私にそのエラーメッセージを表示していません。

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

ちょうど気付いた、ullは 'controllerAs'を使用したいと思えば' config'が経路configでldを宣言する必要があります。 – Searching

+0

@Searchingは正解を得るためのいくつかの例を表示できますか? – ppshein

答えて

1

これは一般に、ショートカット構文で依存関係を注入したときに発生します。

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

}) 

は、ショートカット構文の例です。

依存関係が文字列に書き込まれていないため、悪いです。だから、それを小さくすると、それは何かのようになります。

function(a,b) 

obvisoulyは動作しません。

代わりに$injectを使用してください。

詳細については、hereを参照してください。

関連する問題