コマンドラインで使う - Node.js

コマンドプロンプトからファイルを実行する

コマンドプロンプトでDドライブに移動し「 example 」というディレクトリを作成します。

「 example ディレクトリ 」の中に移動して、「 main.js 」というファイルを作成します。

「 main.js 」ファイルを次のように変更します。

example/main.js

console.log("Hello, World");

「 example ディレクトリ 」次のコマンドを実行すると「 main.js 」ファイルの中のプログラムを実行することができます。

D:\example> node main.js

コマンドライン引数

コマンドからファイルを実行する際、Javascrip のファイルに引数を渡しプログラム内で利用します。また、引数は複数指定することができます。

「 main.js 」ファイルを次のように変更します。

main.js

let lang = process.argv[2];

console.log(`Hello, ${lang}`);

コマンドプロンプトで、「 D:\example> node main.js javascript 」を実行します。

コマンドプロンプトに、「 Hello, javascript 」と表示されていれば成功です。

「 process.argv 」は次のようになっています。

インデックス番号 内容
0 Node.js の実行プロセスのパス
1 実行したスクリプトファイルのパス
2以降 引数で渡される値

「 main.js 」ファイルを次のように変更します。

main.js

console.log(process.argv);

「 D:\example> node main.js aaa bbb 」と実行してください。実行結果は次のようになります。

[
  'C:\\Program Files\\nodejs\\node.exe',
  'D:\\example\\main.js',
  'aaa',
  'bbb'
]

引数に渡した値を利用したい場合は、「 process.argv[2] 」「 process.argv[3] 」とすれば値が取り出せます。

コマンドラインツールの作成

コマンドラインツールを作成するディレクトリを作成します。ここでは、「 cliapp 」とします。

「 cliappディレクトリ 」に移動し、「 npm init -y 」を実行します。

「 cliappディレクトリ 」の中に、「 package.json 」というファイルができます。

次に、「 cliappディレクトリ 」の中に、「 bin 」と 「 lib 」というディレクトリを作成します。

「 binディレクトリ 」の中に「 cli.js 」ファイルと 「 libディレクトリ 」の中に「 main.js 」というファイルをそれぞれ作成します。

cliapp/bin/cli.js

#!/usr/bin/env node

require("../lib/main")();

cliapp/lib/main.js

module.exports = () => {
    const args = process.argv;
    console.log("Hello, " + args[2]);
};

cliapp/package.json

{
  "name": "cliapp",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bin": { "hello": "bin/cli.js" }
}