次のようなものが必要です。
export default angular
.module("profile", ["ui-router"])
.controller("profileCtrl", profileCtrl)
.config(["$translationProvider", ($translateProvider) => {---}]);
このページのドキュメントによると:
https://docs.angularjs.org/error/ $injector/strictdi "このエラーは、アプリケーションが strict- diモード有効」
ここにもう少し説明があります:
http://frontendcollisionblog.com/javascript/angularjs/2015/03/31/something-no-one-tells-you-about-minifying-angularjs-controllers-until-its-too- late.html
明示的な表記法は、コードの縮小プロセスを通じてコードの機能が維持されるように設計されています。JavaScript が縮小されると、注入される依存関係は単一の文字に置き換えられます。そのため、参照が失われます。Angular は、パラメーターが実際に想定されている値を認識できず、エラーをスローします。
この問題を修正するために、Angular は明示的な依存関係の注釈を許可します。文字列の配列を使用する (つまり["$translationProvider", function($translateProvider)]
、依存関係の表現を関連付ける)。これは、文字列が縮小されないため機能します。
2 番目の方法は、次のような $inject プロパティを使用することです。
export default angular
.module("profile", ["ui-router"])
.controller("profileCtrl", profileCtrl)
.config(($translateProvider) => {---});
profileCtrl.$inject = ["$translationProvider"];
目的は同じままです。依存性注入が縮小プロセスを生き残るため。