Javascript 未知提供程序:$stateProvider

Javascript 未知提供程序:$stateProvider,javascript,html,angularjs,Javascript,Html,Angularjs,我真的不明白为什么这个标记不能识别我的$stateProvider Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to: Error: [$injector:unpr] Unknown provider: $stateProvider 简单模块: (function () { 'use strict'; // get modules we need for the app angular

我真的不明白为什么这个标记不能识别我的$stateProvider

Uncaught Error: [$injector:modulerr] Failed to instantiate module app due
to: Error: [$injector:unpr] Unknown provider: $stateProvider
简单模块:

(function () {
   'use strict';
// get modules we need for the app
angular.module('app', ['ngRoute'])
    .config(config);

config.$inject = ['$stateProvider']

function config($stateProvider) {
    console.log('works'); // actually doesn't
};

})();
我试过其他各种款式 例如在配置中直接加载它们

 .config(['$stateProvider'], function ($stateProvider) {
  // not working this way either.
  });

您使用的是
ngRoute
,因此必须使用
$routeProvider
$stateProvider
基于
ui路由器
。请检查此项并切换到
$routeProvider
,或将
ui路由器
$stateProvider
结合使用


配置 这是一个
ngRoute
实现的过程

/* App Module */
angular.module('demoApp', ['ngRoute'])
  .config(['$routeProvider', function( $routeProvider) {

     // Define routes 
     $routeProvider.when('/homepage', { 
         templateUrl: 'partial/homepage.html',
         controller: HomePageCtrl
       }).when('/users', { 
         templateUrl: 'partial/users.html',
         controller: UsersListCtrl
       }).when('/contacts',{ 
         templateUrl: 'partial/contacts.html',
         controller: ContactPageCtrl
       }).otherwise({
         redirectTo: 'homepage'
       });
   }
]);
var myApp = angular.module("myApp",["ui.router"])
  .config(function ($stateProvider, $urlRouterProvider){
      $stateProvider.state("state1", {
          url: "#",
          template: "<p>State 1</p>",
          controller: "Ctrl1"
        }).state("state2", {
          url: "#",
          template: "<p>State 2</p>",
          controller: "Ctrl2"
        });
});

配置 这是一个
ui路由
实现

/* App Module */
angular.module('demoApp', ['ngRoute'])
  .config(['$routeProvider', function( $routeProvider) {

     // Define routes 
     $routeProvider.when('/homepage', { 
         templateUrl: 'partial/homepage.html',
         controller: HomePageCtrl
       }).when('/users', { 
         templateUrl: 'partial/users.html',
         controller: UsersListCtrl
       }).when('/contacts',{ 
         templateUrl: 'partial/contacts.html',
         controller: ContactPageCtrl
       }).otherwise({
         redirectTo: 'homepage'
       });
   }
]);
var myApp = angular.module("myApp",["ui.router"])
  .config(function ($stateProvider, $urlRouterProvider){
      $stateProvider.state("state1", {
          url: "#",
          template: "<p>State 1</p>",
          controller: "Ctrl1"
        }).state("state2", {
          url: "#",
          template: "<p>State 2</p>",
          controller: "Ctrl2"
        });
});
var myApp=angular.module(“myApp”、[“ui.router”])
.config(函数($stateProvider,$urlRouterProvider){
$stateProvider.state(“state1”{
网址:“#”,
模板:“状态1

”, 控制器:“Ctrl1” }).state(“state2”{ 网址:“#”, 模板:“状态2

”, 控制器:“Ctrl2” }); });
尝试
.config(['$stateProvider',function($stateProvider){…}])
在您提到的第二种样式的函数之前使用
]
angular.module('app',['ngRoute']).config(['$stateProvider',function($stateProvider){}])这导致了相同的错误。那么一定是其他问题。确保您确实有可用的
$stateProvider
。。脚本还没有加载,或者脚本src中有一些输入错误?这是正确的,我当时正在匆忙使用ngRoute,而我本应该使用angular ui路由器,问题已经解决。“谢谢你!”波帕德很高兴帮助你。