Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencegah Isu Suntikan Ketergantungan AngularJS Semasa Minifikasi?

Bagaimanakah Saya Boleh Mencegah Isu Suntikan Ketergantungan AngularJS Semasa Minifikasi?

DDD
DDDasal
2024-11-18 07:44:02558semak imbas

How Can I Prevent AngularJS Dependency Injection Issues During Minification?

Memelihara Nama Suntikan dalam AngularJS Minification

Meminimumkan kod JavaScript boleh memperkenalkan isu dalam sistem suntikan kebergantungan AngularJS. Apabila minifikasi mengalih keluar nama pembolehubah dan fungsi, ia boleh memecahkan identiti yang AngularJS bergantung pada untuk memadankan kebergantungan dengan pengawalnya.

Kaedah Tradisional

Untuk mengelakkan masalah ini, pendekatan tradisional adalah untuk mengisytiharkan pengawal menggunakan fungsi tanpa nama dengan kebergantungan sebagai tatasusunan rentetan. Ini mengekalkan nama kebergantungan semasa pengurangan:

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

Kaedah Suntikan

Walau bagaimanapun, kaedah pilihan dalam versi moden AngularJS ialah menggunakan sintaks suntikan untuk suntikan kebergantungan . Ini membolehkan nama kebergantungan ditakrifkan dengan lebih jelas dan tepat mengekalkan identiti mereka semasa pengurangan:

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'];

Pengesyoran

Sentiasa gunakan kaedah suntikan untuk suntikan kebergantungan dalam AngularJS. Ia memastikan bahawa nama kebergantungan dikekalkan semasa pengurangan, mengelakkan kemungkinan ralat suntikan.

Alternatif

Untuk kemudahan, anda boleh menggunakan pakej npm ng-anotasi sebagai sebahagian daripada proses binaan anda. Alat ini secara automatik akan menambahkan sifat $inject pada pengawal anda, mengurangkan keterlaluan sintaks anotasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Isu Suntikan Ketergantungan AngularJS Semasa Minifikasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn