問題タブ [node-commander]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - commander.js : 必要な cli 引数の指定方法
コマンドライン引数を解析するために commander.js パッケージを使用しています。フラグをオプションでなくしたいのですが、git リポジトリの API とテストでは、フラグを必須にすることについて大まかに言及されていますが、通常はヒットする必要があります。説明書付きの頭。
実際に可能で、要件が満たされない場合、スクリプトはスローされますか?
javascript - Node js commander args は、値の代わりに true を返します
ノードとノード コマンダーを使用してスクリプトを作成したいのですが、引数の値を取得しようとすると、値自体ではなく値 true が取得されます。
たとえば、ターミナルでこれを書くと:
この引数の値を取得するにはどうすればよいですか?
node.js - モジュールの現在のディレクトリを確認するように強制する
Node.js でコマンドライン アプリケーションを作成しています。require
モジュールの現在のディレクトリを確認するにはどうすればよいですか?
たとえば、testing ディレクトリでコマンドを実行したいとします。
node_modules/
グローバルバージョンを使用するのではなく、そのディレクトリにあるモジュールを取得します。
node.js - 「co」を使用してコールバックをラップして非同期にする適切な方法は?
それは 2016 年のことで、Node は v4 から ES6 をほぼ完全にサポートしており、Promises は 0.12 から存在しています。コールバックをほこりの IMO に残す時が来ました。
私は、多くの非同期操作 (http 要求とユーザー入力) を活用するcommander.jsベースの CLI util に取り組んでいます。Commanderaction
を async 関数でラップして、プロミスとして扱うことができるようにし、ジェネレーターをサポートしたいと考えています (co-prompt
ユーザー入力に使用しているライブラリに役立ちます)。
CB をco
次の 2 つの方法でラップしてみました。
1)
program.command('myCmd')
.action(program => co(function* (program) {...})
.catch(err => console.log(err.stack)) );
と
2)program.command('myCmd').action(co.wrap(function* (program) { .. }));
1) の問題は、program
パラメーターが渡されないことです
2)の問題は、エラーが飲み込まれることです...
多くの http リクエストを含み、ライブラリを使用してユーザー入力を待機している私のユースケースでは、より優れたコードが生成されるため、これを機能させたいと思っていco-prompt
ます..
program.Command.prototype.action
おそらく何らかの形でラップする方が良い選択肢ですか?
ありがとう!