我正在尝试在服务器上运行AngularJS前端。我正在使用Yeoman来构建应用程序。我上传了非常基本的hello world应用程序,并且加载了JavaScript并获得了纯HTML文本。 Chrome中的控制台说:

Error: Unknown provider: aProvider <- a
    at Error (<anonymous>)
    at http://../scripts/vendor/d10639ae.angular.js:2627:15
    at Object.getService [as get] (http://../scripts/vendor/d10639ae.angular.js:2755:39)
    at http://../scripts/vendor/d10639ae.angular.js:2632:45
    at getService (http://../scripts/vendor/d10639ae.angular.js:2755:39)
    at invoke (http://../scripts/vendor/d10639ae.angular.js:2773:13)
    at Object.instantiate (http://../scripts/vendor/d10639ae.angular.js:2805:23)
    at http://../scripts/vendor/d10639ae.angular.js:4620:24
    at update (http://../scripts/vendor/d10639ae.angular.js:13692:26)
    at http://../scripts/vendor/d10639ae.angular.js:8002:24 d10639ae.angular.js:5526

有人遇到同样的事情并且知道出路吗?

编辑:
'use strict';

yoAngApp.controller('MainCtrl',['$scope', '$window', function($scope, $window) {
    $scope.awesomeThings = [
        'HTML5 Boilerplate',
        'AngularJS',
        'Testacular'
    ];

    $scope.records = [{ title : 'one' }, { title : 'two' }, { title : 'three' }, { title : 'four' }];

    $scope.greet = function() {
        ($window.mockWindow || $window).alert('Hello ' + $scope.name);
    }
}]
);

最佳答案

如@ŁukaszBachman所建议的,如果您要执行以下操作,则可以使用$ inject批注,也可以使用内联批注:

  • 保持依赖项注释靠近函数定义(以提高可读性)。
  • 远离污染全局 namespace 。

  • app.controller('UsersController',
      [
        '$scope', 'UserService', '$location', '$routeParams',
        function($scope, User, $location, $routeParams) {
          $scope.user = User.get({id: $routeParams.id});
          ...
        }
      ]
    );
    

    关于javascript - Angular 构建在服务器上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15496669/

    10-09 18:11
    查看更多