ミニファイしたい Angular.js アプリケーションがあります。
まず、注釈とミニフィケーションを自動的に処理するために、特定の gulp パイプラインをセットアップしました。
暗黙的な注釈がどの程度うまく機能するかを確認するために、ngAnnotateを使用して注釈を追加し、逃したすべての注釈をキャッチするためにstrict-diオプションを指定してアプリケーションを実行しました。次に、見つけたすべての欠落している注釈にコメントのヒントを追加しました。その後、すべてがうまく機能しngAnnotate
、コードに自動的に注釈が付けられ、strict-di
警告はなくなりました。
ただし、 UglifyJS2 を使用して実際にコードを縮小すると、一部のサービスが見つからないと言ってアプリケーションを起動できません。
実際のエラー メッセージは次のとおりです。
状態変更エラー エラー: [$injector:unpr] 不明なプロバイダー: tProvider <- t
mangle: false
にオプションを追加すると、正常にUglifyJS2
動作します。
— 問題は、どうやって犯人を見つけ、なぜ犯人をstrict-di
捕まえられないのかということです。