問題タブ [angular-hybrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
73 参照

angularjs - AngularJs は、ブートストラップの変更後に不明なプロバイダーをアップグレードします

大きな angular.js アプリ (1.5.9) を最新バージョンの Angular にアップグレードしようとしています。

私はアプリをハイブリッド AngularJs/Angular アプリに変換する過程にあり、ガイドのこのステップに到達しました:

https://angular.io/guide/upgrade#bootstrapping-hybrid-applications

これまでのところ、gulp の使用から webpack 4 に変更しましたが、アプリは以前と同じように動作しています。

私が抱えている問題は、index.html での ng-app ディレクティブの使用から Javascript でのブートストラップに切り替えると、アプリの起動に失敗し、次のエラーがスローされることです。

キャッチされないエラー: [$injector:unpr] 不明なプロバイダー: StateServiceProvider <- StateService

これは、次のような app.js ファイルからのものです。

アプリ内の他のモジュールを定義する別の app.modules.js ファイルがあります。

含む:

不明なプロバイダー エラーに記載されているサービスは次のようになります。

ガイドの指示に従って、index.html から ng-app="app-engine" を削除し、代わりに JavaScript に追加しています。app.modules.js ファイルの一番下に追加しました。

この変更の後、不明なプロバイダー エラーがスローされます。ソースが app.js の startUp 関数であることを確認しました。アプリのすべてのモジュールを「app-engine」requires配列に含めてみましたが、何も変更されませんでした。サービスも使用しているにもかかわらず、bestInterceptor 関数がエラーをスローしていないのは興味深いことです (StateBootstrappingService は StateService と同じ方法でセットアップされています)。

私が間違っていることは明らかですか?または、これを解決する方法を知っている人はいますか?