未能实例化模块 [$injector:unpr] 未知提供程序: $routeProvider

2022-08-30 01:06:30

我从AngularJS 1.0.7升级到1.2.0rc1时收到此错误。


答案 1

ngRoute 模块不再是核心文件的一部分。如果您继续使用$routeProvider那么您现在需要在HTML中包含:angular.jsangular-route.js

<script src="angular.js">
<script src="angular-route.js">

接口参考

您还必须添加为应用程序的依赖项:ngRoute

var app = angular.module('MyApp', ['ngRoute', ...]);

相反,如果您计划使用angular-ui-router或类似工具,则只需从模块中删除依赖项并将其替换为所选的相关提供程序(例如)。然后,您将使用依赖项:$routeProvider.config()$stateProviderui.router

var app = angular.module('MyApp', ['ui.router', ...]);

答案 2

添加到斯科蒂的答案中:

选项 1:在 JS 文件中包含以下内容:

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

选项2:或者直接使用URL将“angular-route.min.js”下载到您的本地。

然后(无论您选择哪个选项)将此“ngRoute”添加为依赖项。

解释:var app = angular.module('myapp', ['ngRoute']);

干杯!!!