AngularJS:未知的提供程序错误

AngularJS: Unknown provider error

本文关键字:程序 错误 未知 AngularJS      更新时间:2023-09-26

我得到了这个传说中的错误,我无法找出原因:

 Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:unpr] Unknown provider: AbastecsService

app.js

var myApp = angular.module("myApp", ["ngRoute", "ngResource", 
    "myApp.services", "myApp.controllers"]);
var controllers = angular.module("myApp.controllers", []);
var services = angular.module("myApp.services", []);
myApp.config(["$routeProvider", "$httpProvider", "AbastecsService",
    function($routeProvider, $httpProvider, AbastecsService) {
    $routeProvider
    .when("/", {
        templateUrl : "login.html",
        controller : "LoginController"
    })
    .when("/abastecimientos", {
        templateUrl : "main.html",
        controller : "AbastecsController",
        resolve : {
            abastecs : function(AbastecsService) {
                return AbastecsService.getAbastecimientos();
            }
        }
    });
}]);

basetecimientos_service.js

var services = angular.module("myApp.services");
services.service("AbastecsService", ["$resource", function($resource) {
    var ROOT_URL = "http://xxx.xxx.xxx.xxx"; 
    var Abastecimientos = 
        $resource(ROOT_URL + "/abastecimientos/2010101010101010");
    this.getAbastecimientos = function() {
        var abastecs = Abastecimientos.get(function() {
            return abastecs.data;
        });
    };
}]);

basetecimientos_controller.js

var controllers = angular.module("myApp.controllers");
controllers.controller("AbastecsController", ["$scope", "abastecs", 
    function($scope, abastecs){
    $scope.abastecs = abastecs;
}]);

login_controller.js

var controllers = angular.module("myApp.controllers");
controllers.controller("LoginController" , ["$scope", "$location", 
    function($scope, $location) {
    $scope.login = function() {
        $location.path("/abastecimientos");
    };
}]);

index.html

<!DOCTYPE html>
<html>
<head>
    <link rel="shortcut icon" href="favicon32.ico" />
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="/css/signin.css" media="screen" />
</head>
<body ng-app="myApp" id="page-top" data-spy="scroll" data-target=".navbar-custom">
    <div ng-view></div>
    <!-- JQuery -->
    <script src="lib/jquery/jquery-1.11.2.min.js"></script>
    <!--  angular-js -->
    <script src="lib/angularjs/angular.js"></script>
    <script src="lib/angularjs/angular-route.min.js"></script>
    <script src="lib/angularjs/angular-resource.min.js"></script>
    <script src="js/app.js"></script>
    <script src="js/controllers/login_controller.js"></script>
    <script src="js/controllers/abastecimientos_controller.js"></script>
    <script src="js/services/abastecimientos_service.js"></script>
    <!-- Bootstrap -->
    <script src="lib/bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

谢谢。

已解决

问题是我在app.config中注入了我的服务,但它肯定不是。然后,它会是这样的:

myApp.config(["$routeProvider", "$httpProvider",
    function($routeProvider, $httpProvider, AbastecsService) {
...
}