ホームページ > ウェブフロントエンド > jsチュートリアル > nodejsコマンドラインパラメータ処理モジュールコマンダーの使用例example_node.js

nodejsコマンドラインパラメータ処理モジュールコマンダーの使用例example_node.js

WBOY
リリース: 2016-05-16 16:36:15
オリジナル
1532 人が閲覧しました

確かに以前は組み込みの process.agrv が処理に使用されていましたが、これは機能しますが、使いにくいため、偉大なるマスター tj が完全に優れたものを作成しました。

1. インストール

コードをコピーします コードは次のとおりです:

npm インストール コマンダー

2. オプション分析

コマンダーのオプションは .option() メソッドで定義されており、オプションのドキュメントとしても機能します。以下の例では、process.argv からの引数とオプションを解析し、残りの引数は、program.args 配列として残します。オプション。

コードをコピーします コードは次のとおりです:

#!/usr/bin/env ノード

/**
 * モジュールの依存関係。
 */

var プログラム = require('commander');

プログラム
.version('0.0.1')
.option('-p, --peppers', 'ピーマンを追加')
.option('-P, --pineapple', 'パイナップルを追加')
.option('-b, --bbq', 'バーベキューソースを追加')
.option('-c, --cheese [type]', '指定した種類のチーズを追加 [marble]', 'marble')
.parse(process.argv);

console.log('次の条件でピザを注文しました:');
if (program.peppers) console.log(' - ペッパーズ');
if (program.pineapple) console.log(' - pineapple');
if (program.bbq) console.log(' - bbq');
console.log(' - %s チーズ',program.cheese);

短いフラグは単一の引数として渡すことができます。たとえば、-abc は -a -b -c と同等です。「–template-engine」などの複数の単語のオプションはキャメルケースになり、program.templateEngine などになります。

3. ヘルプ情報を自動生成します

コードをコピーします コードは次のとおりです:

$ ./examples/pizza --help

用途:ピザ【オプション】

オプション:

-V、--version バージョン番号を出力します
-p, --peppers ピーマンを追加します
-P, --pineapple パイナップルを追加します
-b, --bbq バーベキューソースを追加します
-c, --cheese 指定した種類のチーズ [マーブル] を追加します
-h、--help 使用法情報を出力

もちろん、手動で生成することもできます:

コードをコピー コードは次のとおりです:

#!/usr/bin/env ノード

/**
 * モジュールの依存関係。
 */

var プログラム = require('../');

関数リスト(val) {
戻り値 val.split(',').map(数値);
}

プログラム
.version('0.0.1')
.option('-f, --foo', 'foo を有効にする')
.option('-b, --bar', '一部のバーを有効にする')
.option('-B, --baz', '一部の baz を有効にする');

// .parse() の前になければなりません。 because
// ノードの Emit() は即時です

program.on('--help', function(){
console.log(' 例:');
console.log('');
console.log(' $custom-help --help');
console.log(' $ カスタムヘルプ -h');
console.log('');
});

Program.parse(process.argv);

console.log('stuff');

4. 完全な例を挙げてください

コードをコピー コードは次のとおりです:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート