AngularJS缩小控制器未定义

时间:2016-10-15 16:08:38

标签: javascript angularjs minify google-closure-compiler

我正在使用closure-compiler来缩小我的角度应用的javascript。 app.config,app.run和主app控制器都可以正常工作。但是,其他控制器都没有工作,它们都是未定义的(angular.min.js:118错误:[ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?p0=ContactCtrl&p1=not%20aNaNunction%2C%20got%20undefined)。

控制器都使用依赖注入来处理我需要访问的任何内容,因此我认为这不是问题所在。以下是我的一个控制器的定义示例:

app.controller('ContactCtrl', ['$scope', 'requestService',
function ContactCtrl($scope, requestService) { // stuff here }]);

我使用ui-router来切换状态:

$stateProvider
    .state('app', {
        url: '/',
        templateUrl: 'js/components/home/home.html'
    })
    .state('feature', {
        url: '/feature',
        templateUrl: 'js/components/feature/feature.html',
        controller: 'FeatureCtrl',
    });

我还有另一个在html中声明的控制器:

<div data-ng-include="'js/components/home/contact.html'" data-ng-controller="ContactCtrl"></div>

我还需要为控制器做一些依赖注入吗?或者我应该使用其他一些缩小库?我喜欢这个,因为我可以通过指向一个目录来执行jar,并告诉它将所有js缩小为一个文件,所有这些都在一个快速命令中:

java -jar compiler.jar --js_output_file=out.js in1.js in2.js in3.js ...

它也是由Google制作的,所以我认为它应该适用于Angular。

0 个答案:

没有答案