有没有一种简单的方法可以用命令行重构 javascript 代码?

Posted

技术标签:

【中文标题】有没有一种简单的方法可以用命令行重构 javascript 代码?【英文标题】:Is there an easy way to restructure javascript code with the command line? 【发布时间】:2018-05-27 21:05:20 【问题描述】:

有时我看到网页正在执行来自 this one 等页面的 javascript 代码。

页面截图

问题是所有代码都打印在一行上,这使得人们无法阅读。 是否有一个命令行工具可以让我自动创建新行和缩进 javascript 代码

【问题讨论】:

如果您正在寻找可以以有用的方式重新格式化 Javascript 代码的程序,那么这个问题与 shell 无关。如果您想使用标准控制台工具进行重新格式化,那么您必须定义如何完成。问题是使用例如空格或; 作为换行符可以改变代码的含义,如果它恰好被引用。如果您可以确定不是这种情况,那么任务就很简单了。 在被认为是“缩小”的javascript中,基本上是删除所有无关的空白和换行符以及其他一些效率修改。您想要一些东西来“缩小”这些文件,这可能很困难,具体取决于首先用于缩小文件的方法。快速搜索会发现一些声称可以执行 javascript 缩小的工具。 @GracefulRestart 谢谢,我不知道这个词。我进行了快速搜索,并在页面上找到了一个可以完成这项工作的在线工具:unminify.com。我要求使用 bash 解决方案,因为我认为已经存在的专门用于“缩小”代码的命令行工具的可能性很高。但现在只有这个在线工具对我有用...... 我使用jsbeautifier 在极少需要批量还原时使用:pip install jsbeautifier 来安装。 【参考方案1】:

如 cmets 中所述,在 javascript 中删除空格和新行的过程称为"minification"。为了进行相反的过程,我们需要寻找"unminify" 代码的工具。在命令行中,我们可以使用pip 安装jsbeautifier

pip install jsbeautifier

我们可以这样使用它:

js-beautify myMinifiedFile.js > myNewUnminifiedFile.js

或者,还有像unminify.com 这样的在线工具,我们可以在其中粘贴代码,它会执行相反的过程。

PS:缩小通常不是可逆操作,因为在此过程中可能会丢失信息。所以,像这样的工具只是用来美化代码的。

【讨论】:

【参考方案2】:

您可以使用在线工具进行缩小,但如果您只是需要快速参考,Chrome 开发者工具可以在一定程度上进行缩小: http://codegabber.com/2018/05/31/unminify-code-using-chrome-developer-tools/

【讨论】:

以上是关于有没有一种简单的方法可以用命令行重构 javascript 代码?的主要内容,如果未能解决你的问题,请参考以下文章

代码重构 & JDTWindows命令行运行Java文件陷入死循环解决办法

代码重构 & JDTWindows命令行运行Java文件陷入死循环解决办法

有没有一种方法可以编写一个可以在 Windows 和 Linux 上运行的命令行游戏?

WPF命令行参数,一种聪明的方法?

有没有一种简单的方法可以将 BigQuery 中的行转换为 JSON?

有没有一种简单的方法可以从布尔表达式中从 pandas DataFrame 中提取行?