1. ホーム
  2. angularjs

[解決済み] エラーです。[$injector:unpr] 不明なプロバイダです。ルートプロバイダ

2022-02-14 07:39:43

質問

AngularJS 1.2 RC2アプリを立ち上げようとしています。現在、Angular Seedプロジェクトを使用して、アプリを立ち上げようとしています。残念ながら アンギュラーシード プロジェクトはv1.0.7を使用しています。Angular Seedプロジェクトより、依存関係を以下のように更新しました。

$script([
  'res/js/angular-1.2.0-rc.2.js',
  'res/js/angular-route-1.2.0-rc.2.js',
  'res/js/app.js?v=2',
], function() {
  // when all is done, execute bootstrap angular application
  angular.bootstrap(document, ['myApp']);
});

app.jsでは、以下のようになっています。

'use strict';

angular.module('myApp', []).
    config(['$routeProvider', function($routeProvider) {
        $routeProvider.otherwise({redirectTo: '/home'});
    }]);

このアプリを実行すると、以下のエラーが発生します。

Error: [$injector:unpr] Unknown provider: $routeProvider

他の方の回答では、1) 'ngroute'を注入する、2) ルートにコントローラを定義する必要がある、といったようなことが書かれていますが、どうでしょうか?私の問題は、ngrouteを注入する方法を理解していないことです。さらに、本当にルートでコントローラを定義する必要があるのでしょうか?その方法は、スケーラブルとは思えません。私のアプリは1000のビューを持つかもしれません。私の意見では、すべてのコントローラをロードすることなくルートを定義する方法があるように思われます。

解決方法は?

angular 1.4 + では、依存関係の追加に加えて

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

また、別のangular-route.jsファイルを参照する必要があります。

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

見る https://docs.angularjs.org/api/ngRoute