2

私はjsbeautifier.orgが好きで、コードを含むgithub リポジトリがあることがわかります。

Readme には、コマンド ラインからこのツールを使用する方法の例が 2 つあります。

import jsbeautifier
res = jsbeautifier.beautify('your javascript string')
res = jsbeautifier.beautify_file('some_file.js')

と:

opts = jsbeautifier.default_options()
opts.indent_size = 2
res = jsbeautifier.beautify('some javascript', opts)

これをスクリプト ( ) に組み込んで、または引数 (ファイル名) をmyjsbeautify.py受け入れて に出力できるようにするにはどうすればよいですか? オプションも使いたいです。stdinstdoutkeep array indentation

望ましい構文

cat ugly.js | myjsbeautify.py

また

myjsbeautify.py ugly.js
4

4 に答える 4

6

Textmate での JSBeautify の使用に関するこの投稿を確認してください。システムにインストールする方法に関する適切な手順がいくつかあります。Mac OS X では、以下を使用しました。

cd /tmp
git clone https://github.com/einars/js-beautify.git
cd js-beautify/python
python setup.py install

次に、それを実行するために使用するだけですjs-beautify /path/to/filename.js

于 2012-10-02T13:58:27.860 に答える
0

一般に、fileinputモジュールを使用すると、標準入力または位置引数で指定されたファイルから読み取ることができます。

于 2012-10-02T15:04:49.730 に答える
0

あなたの例は、コマンドラインではなくライブラリとして使用するためのものです。引数を取り、それを JSBeautifier に渡すことができるスクリプトを自分で作成しようとしている場合は、argparseモジュールを調べてください。参考になる良い例がいくつかあります。ドキュメントの例:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('infile', nargs='?', type=argparse.FileType('r'),
...                     default=sys.stdin)
>>> parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),
...                     default=sys.stdout)
>>> parser.parse_args(['input.txt', 'output.txt'])
Namespace(infile=<_io.TextIOWrapper name='input.txt' encoding='UTF-8'>,
          outfile=<_io.TextIOWrapper name='output.txt' encoding='UTF-8'>)
>>> parser.parse_args([])
Namespace(infile=<_io.TextIOWrapper name='<stdin>' encoding='UTF-8'>,
          outfile=<_io.TextIOWrapper name='<stdout>' encoding='UTF-8'>)

EDIT:それ自体で使用されるgetoptjsbeautifier.pyを使用することもできます。jsbeautifier.pyコマンド ライン ツールとして使用するだけの場合usageは、ソース コードから関数を読み取ります。

于 2012-10-02T12:24:54.387 に答える
0

やっただけで、パスpip install jsbeautifyに追加されました( )。js-beautify/usr/local/bin/js-beautify

期待どおりに使用できます。

js-beautify --keep-array-indentation file.json > file.pretty.json

さらに引数を確認するには、help を使用します。

js-beautify --help
于 2021-06-23T20:14:07.110 に答える