24
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

node.jsによるコマンドラインツール

Last updated at Posted at 2016-03-24

node.jsでコマンドラインツールを作るために覚えることはほとんどありません。
package.jsonにコマンドラインツールとして提供したいjsファイルを以下のように書くだけです。ここでは、実行するjsファイルをcli.jsとします。

package.json
"bin": "cli.js"

また、パッケージ名を名前を変えたい場合は、以下のようにも書くことができます。

package.json
"bin": {
	"long-command": "cli.js"
}

cli.jsの1行目に以下を記述します。

#!/usr/bin/env node

試しにコマンドラインで1 2 3と引数を渡すと6と表示される足し算をするコマンドラインツールをつくってみます。

package.json
{
  "name": "sum",
  "bin": "cli.js"
}
cli.js
#!/usr/bin/env node
'use strict';
const args = process.argv.slice(2);

function sum(args) {
	return args.reduce((sum, v) => {
		return sum + Number(v);
	}, 0);
}

console.log(sum(args));

あとは、cli.jsに実行権限をつけて完成です。

./cli.js 1 2 3
// 6

簡単ですね。

引数のオプションを利用したい場合は、sindresorhus/meow: CLI app helperが便利です。
また、より複雑なことをしたい場合は、sindresorhus/awesome-nodejs: A curated list of delightful Node.js packages and resources.を見るといいと思います。node.jsのコマンドラインインターフェースのためのライブラリがまとまっています。

24
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?