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!