Angularjs 调用控制器上的工厂时提供程序未知“;错误:[$injector:unpr]";

Angularjs 调用控制器上的工厂时提供程序未知“;错误:[$injector:unpr]";,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我在一家工厂的控制器上遇到了一个待命问题。工厂应在控制器调用时执行REST请求,但出现以下错误: Error: [$injector:unpr] Unknown provider: SearchServiceProvider <- SearchService <- HomeController home.controller.js (function () { 'use strict'; angular .module('MyModule', ['ngMessages']

我在一家工厂的控制器上遇到了一个待命问题。工厂应在控制器调用时执行REST请求,但出现以下错误:

Error: [$injector:unpr] Unknown provider: SearchServiceProvider <- SearchService <- HomeController
home.controller.js

(function () {
'use strict';

angular
    .module('MyModule', ['ngMessages'])
    .factory('SearchService', Service);

function Service($http) {
    var service = {};
    
    service.SearchPendingDeliveries = SearchPendingDeliveries;

    return service;

    function SearchPendingDeliveries(docNumberClient, callback) {
        //some code
    }
}
})();
(function() {
'use strict';

angular
    .module('MyModule', [])
    .controller('HomeController', HomeController);

function HomeController(SearchService) {
    var vm = this;

    vm.searchDeliveriesFromUser = searchDeliveriesFromUser;

    function searchDeliveriesFromUser() {
        SearchService.SearchPendingDeliveries(vm.identifierNumber, function (result) {
            if (result === true) {
                console.log(true);
            } else {
                console.log(false);
            }
        });
    };
};
})();
index.html

 ...
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js"></script>
 <script src="https://code.angularjs.org/1.5.8/angular-messages.js"></script>
 <script src="service/busca.app.js"></script>
 <script src="home/home.controller.js"></script>
 ...
。。。
...

您两次声明同一模块

试着改变

angular
    .module('saldanhaTranporte', [])
    .controller('HomeController', HomeController);


如果在
module()
中没有第二个参数,则它是一个getter而不是setter,并返回对现有模块的引用

试着改变

angular
    .module('saldanhaTranporte', [])
    .controller('HomeController', HomeController);


module()
中没有第二个参数,它是一个getter而不是setter,返回对现有模块的引用

谢谢您的回答!我尝试了这一点,但发现了其他错误:“错误:[$injector:nomod]模块'saldanhaTranporte'不可用!”和“错误:[$injector:modulerr]未能实例化模块saldanhaTranporte”,这可能是由于一些简单的语法错误造成的,例如,如果所有顺序都正确并且文件加载正确的话。这不是唯一的原因,但也是一个常见的原因。所以这个错误与“未知提供者”无关?此错误是由其他代码中的某些内容引起的?是这个吗?谢谢你的回答!我尝试了这一点,但发现了其他错误:“错误:[$injector:nomod]模块'saldanhaTranporte'不可用!”和“错误:[$injector:modulerr]未能实例化模块saldanhaTranporte”,这可能是由于一些简单的语法错误造成的,例如,如果所有顺序都正确并且文件加载正确的话。这不是唯一的原因,但也是一个常见的原因。所以这个错误与“未知提供者”无关?此错误是由其他代码中的某些内容引起的?是这个吗?