解析/解压缩JavaScript的工具

And*_*ord 429 javascript compression code-formatting minify unminify

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

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

Fab*_*ger 503

您可以使用此:http://jsbeautifier.org/ 但它取决于您使用的minify方法,此方法仅格式化代码,它不会更改变量名称,也不会解压缩base62编码.

编辑:实际上它可以解压缩"打包"的脚本(装有Dean Edward的打包器:http://dean.edwards.name/packer/)

  • 不,我说基地62:http://dean.edwards.name/packer/和http://en.wikipedia.org/wiki/Base_62 (5认同)
  • 是否存在"更改变量名称"的工具,并且仍然知道JS语法不会破坏代码? (4认同)
  • 如果可以,我会这10次.刚从浪费的一天救了我! (3认同)
  • +1 - 之前我使用过这种方法,而jsbeautifier.org是一项出色的服务. (2认同)

Jon*_*ams 151

Chrome开发者工具内置了此功能.打开开发人员工具(按F12是单向的),在"源"选项卡中,左下角的栏有一组图标."{}"图标为"Pretty print"并按需进行此转换.

更新:IE9"F12开发人员工具"在"工具"图标下的"脚本"选项卡中也有"格式化JavaScript"功能.(参见F12中的提示#4 保存最好的Web调试秘密)

在此输入图像描述

  • 只是单挑:Chrome有时会混淆JavaScript代码.例如,`if(a)/regex/.match(foo);`被打印为`if(a)\n// regex /.\nmatch(foo);`这是一个语法错误. (2认同)

Rob*_*cks 56

得到它了!JSBeautifier就是这样做的,你甚至可以选择自动格式化.

  • stackoverflow-then-google而不是google-then-stackoverflow?:)))) (5认同)

Jan*_*nco 16

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


kat*_*ugh 14

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

toSource 也剥离评论.

E. g.:

(function () { /* Say hello. */ var x = 'Hello!'; print(x); }).toSource()
Run Code Online (Sandbox Code Playgroud)

将转换为字符串:

function () {
    var x = "Hello!";
    print(x);
}
Run Code Online (Sandbox Code Playgroud)

PS:这不是一个"在线工具",但所有关于一般美化技术的问题都是关闭的.


Sto*_*one 10

如果您有Mac和TextMate - 格式化Javascript的简单方法是:

  1. 使用Textmate打开文件.
  2. 单击> Bundles> JavaScript> Reformat Document
  3. 破开啤酒.

  • 啤酒正在服务:) (2认同)

gou*_*ou1 6

大多数IDE还提供自动格式化功能.例如,在NetBeans中,只需按CTRL + K即可.


Mot*_*tie 5

作为替代方案(因为直到现在我还不知道jsbeautifier.org),我使用了一个书签,重新启用了Dean Edward's Packer中的解码按钮.

我在这里找到了说明和书签.

这是书签(如果网站已关闭)

javascript:for%20(i=0;i<document.forms.length;++i)%20{for(j=0;j<document.forms[i].elements.length;++j){document.forms[i].elements[j].removeAttribute(%22readonly%22);document.forms[i].elements[j].removeAttribute(%22disabled%22);}}
Run Code Online (Sandbox Code Playgroud)


Jon*_*ood 5

我不确定你是否需要源代码.http://www.blackbeltcoder.com/Resources/JSFormatter.aspx上有一个免费的在线JavaScript格式化程序.


小智 5

点击这些链接进行JS deminification.这将作为扩展安装在FF上,帮助您在运行时调试js.

https://addons.mozilla.org/en-US/firefox/addon/javascript-deminifier/eula/141018?src=dp-btn-primary


Cai*_*ete 5

Stone的答案类似,但对于Windows/.NET开发人员:

如果您有Visual Studio和ReSharper - 格式化Javascript的简单方法是:

  • 使用Visual Studio打开文件;
  • 单击ReSharper>工具>清理代码(Ctrl + E,C);
  • 选择"默认:重新格式化代码",然后单击"确定";
  • 破开啤酒.