如何使用命令行美化 JavaScript 代码?
我正在编写一个批处理脚本,以美化JavaScript代码。它需要在Windows和Linux上工作。
如何使用命令行工具美化 JavaScript 代码?
我正在编写一个批处理脚本,以美化JavaScript代码。它需要在Windows和Linux上工作。
如何使用命令行工具美化 JavaScript 代码?
首先,选择你最喜欢的基于Javascript的Pretty Print/Beautifier。我更喜欢 http://jsbeautifier.org/ 的那个,因为这是我首先发现的。下载其文件 https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js
其次,下载并安装Mozilla集团基于Java的Javascript引擎Rhino。“安装”有点误导;下载 zip 文件,提取所有内容,将 js.jar放在 Java 类路径中(或 OS X 上的 Library/Java/Extensions)。然后,您可以使用类似于以下内容的调用运行脚本
java -cp js.jar org.mozilla.javascript.tools.shell.Main name-of-script.js
使用步骤 1 中的 Pretty Print/Beautifier 编写一个小 shell 脚本,该脚本将读取您的 javascript 文件,并从步骤 1 开始通过 Pretty Print/Beautifier 运行它。例如
//original code
(function() { ... js_beautify code ... }());
//new code
print(global.js_beautify(readFile(arguments[0])));
Rhino为javascript提供了一些额外的有用函数,这些函数在浏览器上下文中不一定有意义,但在控制台上下文中确实有意义。函数 print 执行您期望的操作,并打印出一个字符串。函数 readFile 接受文件路径字符串作为参数,并返回该文件的内容。
你会调用上面的内容,比如
java -cp js.jar org.mozilla.javascript.tools.shell.Main beautify.js file-to-pp.js
您可以在 Rhino 运行的脚本中混合搭配 Java 和 Javascript,因此,如果您了解一点 Java,那么使用文本流运行它也应该不会太难。
2014年4月更新:
自从我在2010年回答这个问题以来,美化器已经被重写了。现在那里有一个python模块,一个用于nodejs的npm包,jar文件就消失了。请阅读 github.com 上的项目页面。
Python 风格:
$ pip install jsbeautifier
NPM 样式:
$ npm -g install js-beautify
使用它(这将返回终端上的真福js文件,主文件保持不变):
$ js-beautify file.js
要使更改对文件生效,应使用以下命令:
$ js-beautify -r file.js
原始答案
添加到@Alan风暴的答案
基于 http://jsbeautifier.org/ 命令行美化器已经变得更容易使用,因为它现在(或者)基于V8 javascript引擎(c ++代码)而不是rhino(基于java的JS引擎,打包为“js.jar”)。所以你可以使用V8而不是犀牛。
如何使用:
从 http://github.com/einars/js-beautify/zipball/master 下载 jsbeautifier.org zip 文件
(这是一个链接到zip文件的下载URL,例如 http://download.github.com/einars-js-beautify-10384df.zip)
旧(不再工作,jar文件消失了)
java -jar js.jar name-of-script.js
新(备选)
从 svn 安装/编译 v8 lib,请参阅上述 zip 文件中的 v8/README.txt
./jsbeautify somefile.js
-具有与 rhino 版本略有不同的命令行选项,
- 当配置为“外部工具”时,在Eclipse中效果很好