ノードでコマンドラインアプリケーションを作成する.引数の解析


この記事は連続性にあります.ですから、先に進む前に、第1部の手順に従ってください.
第1部では、ノードのAPPがCLIであるように実行できる方法について学びました.このポストでは、コマンドラインアプリケーションで引数の解析について学びます.

argument parsing CLIで?
あなたが今までクリスを使用したならばgit and yarn , あなたは、あなたが--flag CLIコマンドへの接尾辞として.
例えば.npm install . こちらです.installnpm ノードパッケージマネージャにパッケージをインストールするよう指示します.
同様に、CLIは、定義済みの引数(「パラメータ」とも呼ばれる)の異なるセットを適切に動作させる必要があります.これはしばしばCLIの異なるタスクや機能を行うために使用されます.

ノードの引数の解析js
  • ファイル名index.js ...
  • 次のコードをペーストします.
  • console.log(process.argv)
    
  • さて、端末では、与えられた出力を得るために以下のコマンドを実行します.
  • $ node index.js wow this is an argument
    
    # Output 👇
    
    [ 'node',
      '/home/username/Desktop/index.js',
      'wow',
      'this',
      'is',
      'an',
      'argument' ]
    
    さて、引数が渡されたかどうかを検出する出力を使用することができます.

    より良い引数解析process.argv は、引数が渡されているかを知るための非常に基本的なコード行です.
    CLIでは、ユーザが特定のことをするためにコマンドの組み合わせを使用する必要があります.例えば.npm install -g bulk-mail-cli . こちらです.install を引数として渡す-g ( --global ) フラグとして.
    すべての組み合わせがCLIで何をするかを計算することは、多額の仕事でありえます.したがって、引数の解析とその検出のためにtryとtestライブラリを使用することをお勧めします.

    引数とフラグを解析するライブラリ.

  • Commander (お勧めします)
  • Minimist
  • Meow

  • 司令官
    見てみようCommander 作品第1部では、デモCLIプロジェクトを作成しました.コーディングを続けるindex.js 同じコーディングプロジェクトの.

    The tutorial below will be relevant only if you have read Part 1 of the series.


    モジュールを定義します.
    const commander = require('commander')
    
    プログラムで使用するには、次のコードをペーストします.
    commander
        .version('v0.0.1')
        .description('This is a dummy demo CLI.')
        .option('-n, --name <type>', 'To input a name')
        .option('demo', 'To output demo')
        .parse(process.argv)
    
    コードの上記の行を使用すると、解析して--version , -n , --name , demo 引数.

    引数の読み込み
    引数を読むには、次のようになります.
    // Runs only if `name` argument is passed with a `<type>`...
    if (commander.name) console.log(`Your name is ${commander.name}.`)
    
    // Runs only if `demo` argument is passed...
    if (commander.demo) console.log(`This is a DEMO.`)
    

    それを試してみてください!
    あなたがパート1から続けたならば、あなたはAを持ちますpackage.json 既に作成.cd コードが格納されているディレクトリで、次のコマンドを実行します.
    $ thisDemoCli demo
    This is a DEMO.
    
    $ thisDemoCli --name "Kumar Abhirup"
    Your name is Kumar Abhirup.
    
    $ thisDemoCli --version
    v0.0.1
    
    ああ!今、あなたは引数を解析して、何かをうまくやっています!
    私はこの記事をどのようにコマンドラインアプリケーションのノードで動作するの基礎を理解することができます願っています.js

    アバウトミー
    私はクマールAbhirup(16才のJavascriptが毎日新しいものを学んでいるインドからの開発者反応者)です.
    My personal website and portfolio 🖥️
    あなたのより良い方法、以下のコメントは、この記事を改善するために提案します.○○