如何取消通过 webpack 工具缩小的 js 文件。
缩小之前,
function autoslideSlider() {
$('.next-slide').trigger('click');
}
$(window).on('load', function(){
$('.preloader').fadeOut('fast');
$('#after_load').addClass('show');
setInterval(autoslideSlider, 8000);
});
$('a').on('click', function () {
if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target;
// $('[name=' + this.hash.slice(1) + ']');
if ($target.length) {
var targetOffset = $target.offset().top - 20;
$('html,body').animate({
scrollTop: targetOffset
}, 1500);
return false;
}
}
});
缩小后,
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){function n(){$(".next-slide").trigger("click")}$(window).on("load",function(){$(".preloader").fadeOut("fast"),$("#after_load").addClass("show"),setInterval(n,8e3)}),$("a").on("click",function(){if(location.pathname.replace(/^\//,"")===this.pathname.replace(/^\//,"")&&location.hostname===this.hostname){var e=$(this.hash);if((e=e.length&&e).length){var t=e.offset().top-20;return $("html,body").animate({scrollTop:t},1500),!1}}})}]);
如何取消上述js文件的压缩?
我想要缩小后的 js 文件恢复为原始格式。
谁能告诉我解压js文件的工具或方法吗?
如果您没有源映射(在生产环境中常见),下面的答案是有效的。如果您有源地图,您可以参考@AliKazemkhanolo 答案
您无法取消缩小缩小的文件。缩小是一种破坏性操作,会导致信息丢失。
例如,如果您有一个具有描述性名称的函数,则缩小后该名称将被替换为无意义的名称。此操作无法返回。
您可以使用美化器使其更具可读性,但是为了理解代码的含义,您将需要进行一项繁重的逆向工程工作。
源地图就是你想要的。在制作缩小的 js 文件的过程中,您也应该获得一个源映射文件(这取决于您使用什么工具进行缩小)。
然后使用source-map库,您可以恢复原始文件。
如果
source-map
文件确实包含缩小的源代码,则该文件足以取消缩小。否则,您必须手动告诉图书馆缩小的源代码。
更多信息,请访问图书馆的 Github 页面。