2

yargs「ビルド」、「リンク」、「クリーン」などのサブコマンドを使用してビルド ツールを作成するために使用しています。

./build.js引数なしで入力して、デフォルトで「build」サブコマンド ハンドラを呼び出せるようにしたいと考えています。

私はこのようにそれを行うことができました:

var argv = yargs
  .usage("I am usage.")
  .command('bundle', 'Create JS bundles', bundle)
  .command('link', 'Symlink JS files that do not need bundling', link)
  .command('clean', 'Remove build artifacts', clean)
  .command('build', 'Perform entire build process.', build)
  .help('help')
  .argv;
if (argv._.length === 0) { build(); }

しかし、私には少しハッキリしているように思えます。「build」サブコマンドに追加の位置引数を追加したい場合は、問題が発生する可能性があります。

yargs のセマンティクス内でこれを達成する方法はありますか? のドキュメントは.command()より明確になる可能性があります。

4

2 に答える 2

1

Yargs 自体はこの機能を提供していないようです。NPM には、必要なことを行うために yargs を拡張するサード パーティのパッケージがあります。https://www.npmjs.com/package/yargs-default-command

var yargs = require('yargs');
var args = require('yargs-default-command')(yargs);

args
  .command('*', 'default command', build)
  .command('build', 'build command', build)
  .args;
于 2016-07-07T22:19:33.427 に答える