无法将提供程序注入配置块

Unable to inject a provider into the config block

我无法在我的配置部分中注入提供程序,这里是我的代码:

 <!-- they are placed in that order -->
            <script src="app/components/department/DepartmentController.js"></script>
            <script src="app/components/department/DepartmentProvider.js"></script>
            <script src="app/components/department/DepartmentService.js"></script>


            <script src="app/components/department/support/SupportController.js"></script>
            <script src="app/components/department/support/SupportRouter.js"></script>

Department.js

var departmentModule = angular.module('module.department', ['ngResource']);

    // departmentModule.controller('DepartmentController', function($scope) {

 //   nothing here

    // });

DepartmentService.js:

departmentModule.factory('Department', function($http) {

            return {
                getAll : function(){
                        return $http.get('/api/departments');
                    },
                getByName : function(name){
                        return $http.get('/api/department/'+name);
                    }
                };

});

DepartmentProvider.js:

departmentModule.provider('Department', function() {
     var name = 'marwen';

     this.$get = function() {
         return {
            name: name
         };
     };
});

SupportRouter.js :

supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,DepartmentProvider) {

...

我收到此错误:Unknown provider: DepartmentProvider

尝试将 supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,DepartmentProvider) 更改为 supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,Department)

或将您的提供商名称从 Department 更改为 DepartmentProvider

Department provider 已被 Department 服务覆盖,您需要为 provider 和 service 指定不同的名称,两者不能重名,最新的将被注册.当您在提供商之后加载服务时。服务在 Angular 应用程序中注册并且提供程序在配置中不可用。