ホームページ >ウェブフロントエンド >jsチュートリアル >縮小化中の AngularJS 依存関係注入の問題を防ぐにはどうすればよいですか?

縮小化中の AngularJS 依存関係注入の問題を防ぐにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-18 07:44:02555ブラウズ

How Can I Prevent AngularJS Dependency Injection Issues During Minification?

AngularJS 縮小化でのインジェクション名の保持

JavaScript コードを縮小すると、AngularJS の依存関係挿入システムに問題が発生する可能性があります。縮小化によって変数名と関数名が削除されると、AngularJS が依存関係をコントローラーに一致させるために依存する ID が壊れる可能性があります。

従来の方法

この問題を回避するには、従来のアプローチは、文字列の配列として依存関係を持つ匿名関数を使用してコントローラーを宣言することでした。これにより、縮小中に依存関係名が保持されます:

var MyController = ['$scope', '$http', function($scope, $http) {
  // ...
}];

Inject Method

ただし、最新バージョンの AngularJS で推奨される方法は、依存関係の注入に inject 構文を使用することです。 。これにより、依存関係名をさらに明示的に定義でき、縮小化中にそのアイデンティティを正確に保持できます。

var MyController = function($scope, $http) {
  $http.get('https://api.github.com/repos/angular/angular.js/commits')
    .then(function(response) {
      $scope.commits = response.data
    })
};
MyController.$inject = ['$scope', '$http'];

推奨事項

依存関係の注入には常に inject メソッドを使用します。 AngularJS。これにより、縮小化中に依存関係名が確実に保持され、潜在的な注入エラーが防止されます。

代替手段

便宜上、ng-annotate npm パッケージをパッケージの一部として使用できます。ビルドプロセス。このツールは、コントローラーに $inject プロパティを自動的に追加し、アノテーション構文の冗長性を軽減します。

以上が縮小化中の AngularJS 依存関係注入の問題を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。