Ich habe eine Angular.js-Anwendung, die ich minimieren möchte.UglifyJS2 bricht Abhängigkeit Injektion in Angular.js Anwendung
Als Erstes habe ich eine bestimmte Schluckpipeline eingerichtet, um Annotationen und Verkleinerungen automatisch zu behandeln.
Um zu überprüfen, wie gut implizite Annotationen funktionieren, habe ich Annotationen mit ngAnnotate hinzugefügt und dann eine Anwendung mit strict-di Optionen ausgeführt, um alle verpassten Annotationen zu erfassen. Dann habe ich Kommentare für alle fehlenden Anmerkungen hinzugefügt, die ich gefunden habe. Danach funktioniert alles prima, automatisch kommentiert meinen Code und strict-di
hat keine Warnungen mehr.
Wenn ich jedoch tatsächlich meinen Code unter Verwendung UglifyJS2 verkleinern, kann es die Anwendung nicht starten, die besagt, dass ein Dienst nicht gefunden wurde.
Hier ist die eigentliche Fehlermeldung:
State change error Error: [$injector:unpr] Unknown provider: tProvider <- t
Wenn ich mangle: false
Option zum UglifyJS2
hinzufügen, es funktioniert gut.
- Also ist die Frage, wie finde ich den Schuldigen und warum strict-di
fängt es nicht?
Ich beantworte dieses Problem hier: http: // stackoverflow.com/a/36309546/4775223 –
Danke @WilmerS, aber Ihre Antwort beantwortet nicht meine spezifische Frage. Ich weiß, wie DI funktioniert, und ich benutze bereits ngAnnotate. Das Problem ist, dass es nicht alle Fälle behandelt, und aus irgendeinem Grund fängt strict-di diese Fälle auch nicht ein. –
Ich verstehe. Es scheint, dass Sie versucht haben, was ich versuchen würde. Wenn Sie jedoch explizit Abhängigkeiten einfügen, sollte technisch gesehen das Entfernen von ngAnnotate aus Ihrer Pipe keinen Unterschied machen. Derselbe Fehler sollte auftauchen. Wenn nicht, dann kann ngAnnotate etwas damit zu tun haben. –