我正在尋找支持JavaScript的代碼美化工具,可以在Windows和Linux上運行,並且可以在批處理腳本中使用。任何建議?在Windows和Linux上運行的命令行JavaScript代碼美化工具
回答
首先,選擇你最喜歡的Javascript基於漂亮打印/美化。我更喜歡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寫一個小的shell腳本,將在你的JavaScript文件中讀取,並通過漂亮的打印運行/美化來自調用運行腳本步驟1。例如
//original code
(function() { ... js_beautify code ... }());
//new code
print(global.js_beautify(readFile(arguments[0])));
犀牛讓JavaScript一些額外的有用的功能不一定意義在瀏覽器方面,但在控制檯的上下文做。功能打印做你所期望的,並打印出一個字符串。函數readFile接受一個文件路徑字符串作爲參數並返回該文件的內容。
你會調用上述類似
java -cp js.jar org.mozilla.javascript.tools.shell.Main beautify.js file-to-pp.js
你可以混合在你的犀牛運行腳本匹配的Java和Javascript,所以如果你知道一點的Java應該不會太難得到這個與文本流一起運行。
我想你已經找到你需要現在(4年後)什麼,但總有Python的json.tool: http://richardlog.com/post/12743073497/pretty-printing-json-and-xml-on-mac-osx – 2012-03-27 16:59:57
這是一個免費的獨立美化(以及更多):
我的漂亮的DIFF工具在JavaScript中完全用所以它同樣適用於所有操作系統。它支持美化和縮小JavaScript,CSS,以及使用XML風格分隔符(包括HTML)的任何標記語言。
與美化的配發的問題是輸出和濾波和服務器缺乏嚴重命令行美化的的選擇。我最近開始修改YUI壓縮器來美化代碼。如果你想讓自己更漂亮,我必須強烈推薦這種方法。 YUI是開放源代碼的,並附帶一個ant構建文件,使其可以很容易地進行修改和編譯。
UPDATE 2014年4月:
,因爲我回答了這個在2010年的美化已被重寫中現在有一個Python模塊,NPM軟件包的NodeJS和jar文件已經一去不復返了。請閱讀project page on github.com。
Python的風格:
$ pip install jsbeautifier
NPM風格:
$ npm -g install js-beautify
使用它:
$ js-beautify file.js
原來的答覆
添加到@Alan Storm的答案
基於http://jsbeautifier.org/的命令行美化器已經變得更容易使用了,因爲它現在(可選)基於V8 javascript引擎(C++代碼)而不是犀牛(基於java的JS引擎,打包爲「js.jar」)。所以你可以用V8代替犀牛。
使用方法:從 http://github.com/einars/js-beautify/zipball/master
下載jsbeautifier.org zip文件(這是鏈接到一個zip文件,如http://download.github.com/einars-js-beautify-10384df.zip下載URL)
舊(不再工作, jar文件消失)
java -jar js.jar name-of-script.js
新的(二選一)
安裝/編譯V8 lib中從SVN,看看V8/readme.txt中上述zip文件
./jsbeautify somefile.js
都具有一個略有不同的犀牛版本的命令行選項,
- 和偉大工程在Eclipse中配置爲「外部工具」時
我寫了一篇文章,解釋如何在5分鐘內構建command-line JavaScript beautifier implemented in JavaScript。因人而異。
- Download the latest stable Rhino and unpack it somewhere, e.g. ~/dev/javascript/rhino
- Download beautify.js which is referenced from aforementioned jsbeautifier.org then copy it somewhere, e.g. ~/dev/javascript/bin/cli-beautifier.js
Add this at the end of beautify.js (using some additional top-level properties to JavaScript):
// Run the beautifier on the file passed as the first argument. print(j23s_beautify(readFile(arguments[0])));
Copy-paste the following code in an executable file, e.g. ~/dev/javascript/bin/jsbeautifier.sh:
#!/bin/sh java -cp ~/dev/javascript/rhino/js.jar org.mozilla.javascript.tools.shell.Main ~/dev/web/javascript/bin/cli-beautifier.js $*
(optional) Add the folder with jsbeautifier.js to PATH or moving to some folder already there.
這是一個非常有用的美化/縮進你的js文件的網站。我經常使用它。 檢查:http://jsbeautifier.org/
這裏是寫在.NET支持命令行以及交互模式一個javascript美化: http://www.rahulsingla.com/blog/2010/12/jsbeautifier-net-javascript-beautifier-in-net
有不同的NET 2.0沒有外部的依賴。
我使用這個(http://jsbeautifier.atomproject.net/)美化。它的在線和免費。
我無法爲接受的答案添加評論,因此這就是爲什麼您會看到本應不存在的帖子的原因。
基本上我還需要一個Java代碼中的JavaScript美化工具,令我驚訝的是沒有任何工具可以找到。所以我完全基於接受的答案編寫了一個(它包裝了jsbeautifier.org beautifier .js腳本,但可以從java或命令行調用)。
的代碼位於https://github.com/belgampaul/JsBeautifier
我用犀牛和從控制檯beautifier.js
USAGE:Java的罐子jsbeautifier.jar腳本壓痕
例如:Java的罐子jsbeautifier.jar「功能FF(){返回;}」從Java代碼2
USAGE: 公共靜態字符串jsBeautify(字符串jsCode,整數indentSize)
歡迎您擴展代碼。在我的情況下,我只需要縮進,所以我可以在開發時檢查生成的JavaScript。
希望能爲您節省一些時間在您的項目中。
如果您使用的NodeJS然後嘗試uglify-js
在Ubuntu 12.04,假設你已經安裝的NodeJS,則可以安裝帶有醜化:
sudo npm install -g uglify-js
然後拿到選項:
uglifyjs -h
所以,如果我有一個源文件foo.js
它看起來像這樣:
// foo.js -- minified
function foo(bar,baz){console.log("something something");return true;}
我可以美化它,如下所示:
uglifyjs foo.js --beautify --output cutefoo.js
uglify
使用空間的默認縮進,所以如果我想4空間縮進轉換爲製表符我可以通過unexpand
在Ubuntu中12.04來運行它搭配:
unexpand --tabs=4 cutefoo.js > cuterfoo.js
或者,你可以做到這一切一氣呵成:
uglifyjs foo.js --beautify | unexpand --tabs=4 > cutestfoo.js
可以here
所以這一切後我風了一個文件中找到更多關於unexpand,看起來像這樣:
function foo(bar, baz) {
console.log("something something");
return true;
}
更新2016年6月7日
它似乎uglify-js的維護者現在正在處理version 2,雖然安裝是相同的。
如果你用記事本+ +這裏是記事本++ http://www.sunjw.us/jsminnpp/
插件我相信當你問的命令行工具,你只是想美化批次所有js文件。
在這種情況下的Intellij IDEA(11.5測試)可以做到這一點。
你只需要選擇任何項目文件並選擇「密碼」 - >主IDE菜單中的「格式化代碼..」。然後在對話框中選擇「目錄中的所有文件...」,然後按「enter」。 只要確保您爲JVM專用了足夠的內存。
在控制檯中,你可以使用Artistic Style(又名的astyle)與--mode=java
。
它工作的很好,它是免費的,開源的和跨平臺的(Linux,Mac OS X,Windows)。
使用現代的JavaScript方式:
使用Grunt結合的jsbeautifier plugin for Grunt
您可以輕鬆地安裝到一切使用npm你的開發環境。
所有你需要的是設置一個Gruntfile.js與適當的任務,這也可以涉及文件連接,lint,uglify,minify等,並運行grunt命令。
嘗試記事本+ +(自1.15更名爲JSTool)插件JSMinNpp
- 1. 如何使命令行工具在Windows和Linux中工作?
- 2. Linux上的Oracle命令行工具
- 3. Windows上的Bigquery命令行工具
- 4. 運行命令行代碼
- 5. IE7 javascript命令行工具
- 6. vs launch.json上的代碼運行命令
- 7. 如何構建和運行github上的Ruby命令行工具?
- 8. 運行Linux命令
- 9. 壓痕與Linux的命令行工具
- 10. Java從命令行運行的代碼
- 11. 讓命令行工具繼續運行
- 12. 運行命令行工具Java程序
- 13. 在Windows命令提示符下運行Linux命令
- 14. 在Windows上工作的PHP命令行工具
- 15. 如何在Linux上從命令行運行PHP代碼服務器
- 16. C代碼格式化/美化工具
- 17. 從命令行在java WAR的上下文中運行代碼
- 18. 如何在Windows上運行linux終端命令?
- 19. *在Linux命令行上
- 20. 在Windows cmd上運行unix命令
- 21. 運行命令時在Windows上安裝
- 22. 無法在Windows上運行'symfony'命令
- 23. 在Linux命令行中運行PHP
- 24. HAML代碼的HTML美化工具
- 25. 如何在java代碼中運行linux命令?
- 26. 通過Azure自動化在Azure Linux VM上運行SSH命令
- 27. 如何從C#Windows窗體內運行命令行代碼?
- 28. 從Symfony命令運行Linux命令
- 29. 無法在代碼中運行命令
- 30. windows命令行合併工具
你給的鏈接斷開,那它應該是一個我認爲, HTTP:// jsbeautifier .org/ – Sinan 2010-01-12 13:26:40
思南是對的。鏈接轉移到http://jsbeautifier.org/ – 2010-01-15 20:17:54
我是如何做到的: :〜$ sudo apt-get install libv8-dev libv8-2.2.18 :〜$ cd einars-js-beautify -f90ce72/v8 :〜$ G ++ -o jsbeautify jsbeautify.cpp -lv8 -llib -lpthread 這只是工作。感謝Einar Lielmanis和所有參與者! – 2011-03-06 13:45:20