-1

インターセプター ファクトリを呼び出す次の構成 (index.js) があります。

angular.module('pasApp')
 .factory('InterceptorFactory',['$q','$location',require('./factory-interceptor.js')])
 .config(['$stateProvider','$urlRouterProvider', '$httpProvider','InterceptorFactory',require('./config-app.js')])
 .run(['$ionicPlatform','$rootScope','$window','StorageFactory','$state','$timeout','$http',require('./run-app.js')]);

私のフォルダとファイルの順序:

>config
  >config-app.js
  >factory-interceptor.js
  >index.js
  >run-app.js

「./factory-inteceptor.js」から「InterceptorFactory」関数を呼び出すと、コンソールに次のエラーが表示されます。

Uncaught Error: [$injector:modulerr] Failed to instantiate module pasApp due to:
Error: [$injector:unpr] Unknown provider: InterceptorFactory
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=InterceptorFactory
at http://localhost:8100/js/app.bundle.js:9874:12
at http://localhost:8100/js/app.bundle.js:14068:19
at getService (http://localhost:8100/js/app.bundle.js:14215:39)
at Object.invoke (http://localhost:8100/js/app.bundle.js:14247:13)
at runInvokeQueue (http://localhost:8100/js/app.bundle.js:14162:35)
at http://localhost:8100/js/app.bundle.js:14171:11
at forEach (http://localhost:8100/js/app.bundle.js:10142:20)
at loadModules (http://localhost:8100/js/app.bundle.js:14152:5)
at createInjector (http://localhost:8100/js/app.bundle.js:14078:11)
at doBootstrap (http://localhost:8100/js/app.bundle.js:11436:20)
http://errors.angularjs.org/1.4.3/$injector/modulerr?p0=pasApp&p1=Error%3A%…otstrap%20(http%3A%2F%2Flocalhost%3A8100%2Fjs%2Fapp.bundle.js%3A11436%3A20)
4

2 に答える 2

0

構成ブロック - プロバイダーの登録および構成フェーズ中に実行されます。構成ブロックに挿入できるのは、プロバイダーと定数のみです。これは、サービスが完全に設定される前に、サービスが偶発的にインスタンス化されるのを防ぐためです。

この方法では、構成ブロックにファクトリを挿入できません。このファクトリは、構成ブロックがアプリケーションに追加される前に挿入されます。

Angular ドキュメント

于 2016-05-19T22:24:56.290 に答える
0

factory-interceptor.js登録するファクトリの関数をエクスポートしていることを確認してください。

于 2016-01-21T00:48:54.903 に答える