J'ai un script assez petit qui contrôle un carrousel à l'intérieur d'un modal. Pour lancer le modal, j'ai une simple fonction showModal()
qui est appelée quand une image sur la page est cliquée. Cependant, cette fonction est supprimée par UglifyJS lorsque les fichiers JS sont traités par WebPack. Voici un aperçu simplifié du code:Comment empêcher UglifyJS de supprimer une fonction inutilisée lors du traitement par WebPack?
$('#iconified').on('keyup', function() {
var input = $(this);
input.addClass('empty');
});
var carouselVideoPlayer = (function() {
var initialized = false;
var videoCarousel;
function initCarousel() {
videoCarousel.carousel({
interval: false
});
}
return {
init: function() {
initCarousel();
initialized = true;
}
};
})();
function showModal(slideNumber) {
$('#myModal0').modal('show');
carouselVideoPlayer.showSlide(slideNumber);
}
jQuery(document).ready(function($) {
var thumbnails = [];
for (var i = 0; i < 4; i++) {
thumbnails.push($('#carousel-selector-' + i));
}
carouselVideoPlayer.init();
});
J'ai essayé d'utiliser l'option avec essoreuse showModal
réservé et j'ai essayé d'utiliser le /*@__PURE__*/
commentaire devant la fonction. À moins de faire un appel factice à cette fonction, je veux juste le marquer comme besoin ou ignoré, donc UglifyJS ne le supprimera pas et ne pourra pas trouver un moyen simple de le faire.
Mise à jour Alors pas ce que j'espérais, ce qui suit cessera UglifyJS de découverture la fonction. Ajout d'une instruction if à showModal()
et d'un appel dans ma méthode initialize, en passant -1.
function showModal(slideNumber) {
if (slideNumber !== -1) {
$('#myModal0').modal('show');
carouselVideoPlayer.showSlide(slideNumber);
}
}
Ajout d'un appel factice, mais je pense qu'il devrait y avoir un meilleur moyen. –