取消缩小/解压缩 JavaScript 的工具

IT技术 javascript code-formatting minify compression unminify
2021-01-31 08:55:30

是否有任何命令行脚本和/或在线工具可以逆转缩小的影响,类似于 Tidy 如何清理可怕的 HTML?

(我特别想取消缩小缩小的 JavaScript 文件,因此变量重命名可能仍然是一个问题。)

6个回答

你可以使用这个:http : //jsbeautifier.org/ 但这取决于你使用的 minify 方法,这个方法只格式化代码,它不会改变变量名,也不会解压 base62 编码。

编辑:实际上它可以解压缩“打包”脚本(使用 Dean Edward 的打包程序打包:http : //dean.edwards.name/packer/

2021-03-16 08:55:30
如果可以的话,我会提高 10 倍。刚刚让我免于浪费一天!
2021-03-29 08:55:30
+1 - 我以前使用过这种方法,jsbeautifier.org 是一项出色的服务。
2021-03-30 08:55:30
是否有一种工具可以“更改变量名称”并且仍然知道 JS 语法不会破坏代码?
2021-04-01 08:55:30
谢谢。这正是我正在寻找的。
2021-04-03 08:55:30

Chrome 开发者工具内置了此功能。调出开发者工具(按 F12 是一种方式),在 Sources 选项卡中,左下栏有一组图标。“{}”图标是“Pretty print”,可根据需要执行此转换。

更新:IE9“F12 开发人员工具”在“工具”图标下的“脚本”选项卡中也有“格式化 JavaScript”功能。参见F12 中的技巧 #4最好的 Web 调试秘密

在此处输入图片说明

对于我试图取消缩小的特定 .js,这种方法效果最好,加油。
2021-03-24 08:55:30
@mhenry1384:是的,Chrome 确实重命名了该选项卡。我相应地更新了答案。
2021-03-26 08:55:30
提醒一下:Chrome 有时会搞乱 JavaScript 代码。例如,if (a) /regex/.match(foo);被漂亮地打印为if (a)\n / /regex/ .\nmatch(foo);这是一个语法错误。
2021-03-29 08:55:30
它现在位于“源”选项卡中,而不是“脚本”选项卡中。
2021-03-31 08:55:30
是的!!(我们的应用程序没有我所知道的 js 调试/开发模式——幸好我们没有缩短/转换变量名。)
2021-04-05 08:55:30

知道了!JSBeautifier正是这样做的,您甚至可以选择自动格式化。

这个 FireFox 插件使用 JSBeautifier 来取消缩小 javascript,这样你就可以在 FireBug 的 js 调试器中的行上设置断点!!:addons.mozilla.org/en-US/firefox/addon/javascript-deminifier
2021-03-14 08:55:30
我为“javascript formatter online”做了谷歌
2021-03-17 08:55:30
stackoverflow-then-google 而不是 google-then-stackoverflow?:)))))
2021-04-09 08:55:30

你不能只使用 javascript 格式化程序 ( http://javascript.about.com/library/blformat.htm ) 吗?

+1 对于同样有效的答案。fabien 刚好先回复了
2021-03-21 08:55:30
这仅回答问题的“解压缩”部分。
2021-03-22 08:55:30
不,这行不通。它破坏了代码...... :(
2021-03-25 08:55:30

在 Firefox、SpiderMonkey 和 Rhino 中,您可以将任何代码包装到匿名函数中并调用其toSource方法,这将为您提供格式良好的函数源。

toSource 还删除评论。

例如

(function () { /* Say hello. */ var x = 'Hello!'; print(x); }).toSource()

将被转换为字符串:

function () {
    var x = "Hello!";
    print(x);
}

PS:这不是一个“在线工具”,但所有关于一般美化技术的问题都作为这个问题的副本而关闭。

有趣的。我在 2.5 年前问过这个问题,所以我觉得现在编辑标题为时已晚,但我仍然喜欢看到在线和离线选项。感谢您的参与。+1
2021-03-24 08:55:30
似乎不再适用于 Firefox
2021-03-30 08:55:30