
js文件压缩导致方法调用变为undefined
压缩后的JS文件调用方法时出现undefined,这是因为压缩工具可能更改了函数或变量的名称。
示例代码
function adduserlis(e, l) {
var i = $(e).length;
let n = $(e).eq(parseInt(Math.random() * i + 1 - 1));
n.before(l), $(e).eq(0).after(l), $(e).eq(i + 1).after(l);
}
function add_category(e) {
let d = $(e);
for (let n = 0; n < d.length; n++) {
let e = d.eq(n).children(),
l = e.eq(Math.floor(Math.random() * e.length - 1 + 1)),
i = l.clone().addClass("d-none");
i.find("a").attr("href", "/add"), l.before(i);
}
}压缩后的代码:
function a(e,l){var i=$(e).length;let n=$(e).eq(parseInt(Math.random()*i+1-1));n.before(l),$(e).eq(0).after(l),$(e).eq(i+1).after(l)}function b(e){let d=$(e);for(let n=0;n<d.length;n++){let e=d.eq(n).children(),l=e.eq(Math.floor(Math.random()*e.length-1+1)),i=l.clone().addClass("d-none");i.find("a").attr("href", "/add"), l.before(i)}}解决方法
检查压缩后的代码是否完整
压缩过程中,可能会删除注释或无用的代码块,如果实际调用的函数或变量已压缩移除,就会导致undefined。
使用映射文件恢复函数名
有些压缩工具会提供映射文件,该文件包含压缩后代码和原始代码之间的对应关系,可以使用它将压缩后的函数名映射回原始函数名。
以上就是JS文件压缩后方法调用出现undefined,如何解决?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号