1. ホーム
  2. javascript

[解決済み] コマンドラインを使ってJavaScriptのコードを美しくする方法は?

2022-08-22 18:18:34

質問

JavaScriptのコードを美化するためのバッチスクリプトを書いています。このスクリプトは Windows リナックス .

コマンドラインツールを使用して JavaScript コードを美化するにはどうすればよいですか?

どのように解決するのですか?

まず、JavascriptベースのPretty Print/Beautifierの中から好きなものを選びます。 私は、以下のものを好みます。 http://jsbeautifier.org/ というのは、私が最初に見つけたのがこれだったからです。 そのファイルをダウンロードする https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js

次に、The 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を使って、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を知っていれば、テキストストリームでこれを実行することはそれほど難しくないでしょう。