1

私はjavascriptで「端末のもの」を構築しています。各コマンドは AMD 形式の個別の .js ファイルであり、すべてが requirejs で読み込まれるという考え方です。

コマンドを次のように呼び出す必要があります。

command -s "string u-l: extra" -g http://domain.com/random.txt -r -a --test fixed

そして、それは次のようなものに変換されます:

command({'-s': 'string u-l: extra', '-g': 'http://domain.com/random.txt', '-r': true, '-a': true, '--test': 'fixed'});

頭の中でさまざまなシナリオを実行しようとしましたが、良い答えが見つかりませんが、競合が発生する可能性があります。

  • split() - 余分なスペースがあると、すべてが壊れます
  • 正規表現 - 正規表現は毎回同様の文字列を取得することに依存しています。「wget http://code.jquery.com/jquery-1.8.3.min.js」のようなものが必要な場合
  • コマンド自体でルールを定義する - 解析を理解する必要があります
  • パイピング - パイピングが必要な場合は、間違ったパイプで壊れないようにする方法を見つけなければなりません。つまり、「command -s 'random | pipe' | command2 asd」です。

アイデア/アドバイスをいただければ幸いです。私はこれにこだわっています。

4

1 に答える 1

-1

あなたが分離した場合、物事はより簡単になりますか?

  • 解析 ( https://github.com/jfd/optparse-jsのような特別な目的の lib を使用?)
  • 解析された入力を必要なモジュールのリストに変換します(私が正しく理解していれば、引数とコマンドモジュール間のマッピングを定義する必要があります)
  • 上記のモジュールを必要とし、関連する引数を各モジュールに渡しますか?
于 2013-01-07T10:31:09.680 に答える