我有一个使用 ASP.NET 的 AngularJS 应用程序。当我发布应用程序并托管在本地 IIS 上时,出现此错误。 在 Web.config 中,在编译标记中,当我设置 debug="true" 时,应用程序将按预期工作,否则,我会遇到此问题,所以我认为这是缩小问题。 我做了我的研究,结果证明应该使用严格的依赖注入(而且确实如此)。 现在,我不知道如何解决这个问题。 这是指出错误的一段代码。
var betApp = angular.module("betApp", [
"ngRoute",
"PubSub",
"ngMap",
"ngSanitize",
"angularFileUpload",
"angular-md5"
])
控制器:
betApp.controller("MainCtrl", MainCtrl);
MainCtrl.$inject = ["$scope", "$route", "PubSub", "$location", "$rootScope", "$timeout", "$http", "configuration", "StaticService"];
function MainCtrl($scope, $route, pubSub, $location, $rootScope, $timeout, $http, configuration, StaticService) {
//controller logic
}
服务:
betApp.factory("StaticService", StaticService);
function StaticService() {
// service logic
return{
flag: true
}
}
错误本身:未知提供者:StaticServiceProvider <- StaticService <- MainCtrl
$注射器 当 Angular 无法找到服务或提供者时,通常会发生 AngularJS 中的未知提供者错误。要解决此问题: 检查服务是否正确注册到 Angular。 确保服务已充分注入到模块或组件中。 验证模块依赖项是否已声明并导入。 通常可以通过更正注入和模块配置来修复此错误。 如需有关 AngularJS 应用程序开发服务的更多专家帮助,请访问 IConflux。