Angularjs には、関数の引数に基づいてプロバイダーを自動検出するという優れた機能があります。たとえば、関数で $http を使用したい場合は、次のように呼び出します。
$inject.invoke(function ($http) {
});
Angularjs は、私の依存関係を「認識」します。私の関数の本体を読んで、引数名に基づいてそれを理解するでしょう。
ただし、コードを縮小したい場合には問題があります。Minifier は引数名を変更します。そのため、次の表記法を使用する必要があります。
$inject.invoke(['$http', function ($http) {}]);
またはこの表記:
function Foo ($http) {}
Foo.$inject = ['$http'];
$inject.invoke(Foo);
最後に常にコードを縮小する必要があります。したがって、このマジック (最初の例) 表記の使用は避ける必要があります。
そして今私の問題:
js コードを縮小しようとしていますが、angularjs がプロバイダー名を解決できません。指定していない場所が見つかりません.$inject = [...]
。今はただ言うだけです:"Unknown provider a"
そして、それがどの機能を参照しているのかわかりません。
プロバイダーの angularjs 自動検出 (自動インジェクター) をオフにすることは可能ですか? 縮小する前にコードをテストして修復します。
だから、この「魔法の」angularjs推論を無効にする方法を考えています。私はいつも自分のコードを縮小しているので、誤ってこのスーパーヒーローの悪を使ってしまうと、angularjs に怒鳴ってもらいたいのです。
オフにする方法は?