未捕获的错误注入器 modulerr 模块错误

Posted

技术标签:

【中文标题】未捕获的错误注入器 modulerr 模块错误【英文标题】:Uncaught Error injector modulerr Module Error 【发布时间】:2019-04-20 23:21:59 【问题描述】:

。 角路由器无法正常工作。 在 app.config 中添加 $stateProvider 后,angulerjs 通过给出以下错误停止工作。

Failed to instantiate module app due to: Error: [$injector:unpr] http://errors.angularjs.org/1.6.9/$injector/unpr?p0=%24st... at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:7:76 at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:46:64 at d (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:43:309) at e (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:44:39) at Object.invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:44:124) at d (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:42:279) at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:42:418 at r (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:8:7) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:42:180) at gb (https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:46:250

在进行了一些我不记得的更改后,也出现了错误Error: $injector:unpr Unknown Provider Stateprovider

脚本

` angular.module('app', []) '使用严格';

   var app = angular.module('app').factory('AuthInterceptor', [function () 
        return 
            // Send the Authorization header with each request
            'request': function (config) 
                config.headers = config.headers || ;
                var encodedString = btoa("admin:admin");
                config.headers.Authorization = 'Basic ' + encodedString;
                return config;
            
        ;
    ]);


    app.config(['$httpProvider', '$stateProvider',function ($httpProvider, $stateProvider ) 
  $stateProvider
    .state('GradesData', 
      url: '/GradesData',
      templateUrl: '../GradesData.html'
    )
    .state('GradesForm', 
      url: '/GradesForm',
      templateUrl: '../GradesForm.html'
    )

  $httpProvider.interceptors.push('AuthInterceptor');

]);`

包括以下脚本

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

添加 $stateProvider 后出现问题 添加了 $stateProvider 用于从 angularjs 页面另一个 angularjs 页面传递数据/值。

包括其他 jquery 脚本

<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<script src="bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<script src="bower_components/fastclick/lib/fastclick.js"></script>
<script src="dist/js/adminlte.min.js"></script>
<script src="dist/js/demo.js"></script>

【问题讨论】:

【参考方案1】:

如果您使用&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"&gt;&lt;/script&gt;,请使用$routeProvider 而不是$stateProvider

那么您的代码将如下所示:

app.config(['$locationProvider', '$routeProvider',
      function($locationProvider, $routeProvider) 
        $locationProvider.hashPrefix('');
         $routeProvider
.when('/GradesData', 
         templateUrl: '../GradesData.html')
.when('/GradesForm', 
         templateUrl: '../GradesForm.html'
            );
            $routeProvider.otherwise('/');
        
    ]);

ngRoute 添加到angular.module

angular.module('app', ['ngRoute'])

https://www.w3schools.com/angular/angular_routing.asp

对于$stateProvider,将ui.router 添加到angular.module

angular.module('helloworld', ['ui.router']);

并使用

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.20/angular-ui-router.min.js"></script>

请看这里:https://ui-router.github.io/ng1/tutorial/helloworld

【讨论】:

以上是关于未捕获的错误注入器 modulerr 模块错误的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:[$injector:modulerr] 添加 $cordovaGeolocation 和 $ionicPopup 时无法实例化模块

未捕获的错误:Angular JS 中的 [$injector:modulerr] 和 ngRoute 错误

AngularJS 注入器:modulerr

未捕获的错误:[$injector:modulerr] 使用外部 js 文件时

angular.js 和 require.js 得到未捕获的错误:[$injector:modulerr]

如何解决 angularjs 未捕获的错误:[$injector:modulerr]?