node.jsによるコマンドラインツール 導入
node.jsのスクリプトをコマンドラインツールとして動作させる手順。
linux(OS Xも?)だとenvコマンドというのがあって、shellを介してこれと連携すれば簡単にできる。
スクリプトの先頭に、
#!/usr/bin/env node
と書いてスクリプトに実行権限を付与するだけ。
hello_cls.js
#!/usr/bin/env node
/*
node.jsのスクリプトをコマンドラインツールとして動作させる
*/
'use strinct';
console.log("Hello, CLI.");
ならば、スクリプトがあるディレクトリで、
hello_cli.jsを実行
$ ./hello_cli.js
Hello, CLI.
$
しかしこれだとPathが通っていなければそのディレクトリでしか実行できない。
スクリプトは実行単位(といえばいいのか)ごとにディレクトリ切ることが多いはずだからPathを通すのは現実的でない。
で、どうするかというと、npmでglobalインストールする。
インストールの設定のためにpackage.jsonファイルを作成する。
package.json
{
"name": "hello_cli",
"version": "0.0.1",
"description": "First node.js script for CLI.",
"author": "Lin Quan Studio.",
"engines": {"node": ">=0.10"},
"dependencies": {},
"bin": {"hello_cli": "hello_cli.js"}
}
"bin"
にインストールするコマンド名とスクリプトのペアを指定する。
書いたらそのディレクトリで、
グローバルインストール
$ sudo npm install -g
でインストールすればコマンドとして実行できるようになる。
DOS(Windows)のコマンドプロンプトでは、envコマンドがなければスクリプトを直接実行はできないが、グローバルインストールすれば実行できるようになるので便利。
Author And Source
この問題について(node.jsによるコマンドラインツール 導入), 我々は、より多くの情報をここで見つけました https://qiita.com/linquanstudio/items/21587ab8ecefe62be855著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .