如何修复 AngularJS 中的 $injector:unpr Unknown Provider

问题描述 投票:0回答:1

我有一个使用 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

javascript asp.net angularjs minify
1个回答
0
投票

$注射器 当 Angular 无法找到服务或提供者时,通常会发生 AngularJS 中的未知提供者错误。要解决此问题: 检查服务是否正确注册到 Angular。 确保服务已充分注入到模块或组件中。 验证模块依赖项是否已声明并导入。 通常可以通过更正注入和模块配置来修复此错误。 如需有关 AngularJS 应用程序开发服务的更多专家帮助,请访问 IConflux。

© www.soinside.com 2019 - 2024. All rights reserved.