node でコマンドラインツールを作ろう
package.json に "bin" : { "command-name" : "to-path" } を追加することでシェルコマンドとして実行したときに、どのファイルを実行するかを指定します。ここでは "cli" という名前で実行すると、index.js が実行されるように指定しました。
{
"bin": {
"cli": "index.js"
},
}
冒頭に #!/usr/bin/env node をつけることで node で実行されるよう shell に伝えます。
#! /usr/bin/env node
console.log("cli ok!!");
公開する
npm version minor # マイナーチェンジを行なったので
npm publish # 変更を公開
npm package を使う
npm update @superyusuke/node-learn # 更新を取り込む
Local にインストールしたパッケージ使う方法2つ
npx を使う
npx cli
npm script に記述して使う
{
"scripts": {
"cli": "cli"
}
}
npm run cli
npm link で symlink を作る
package に変更があるたびに公開してupdate して…という手順を踏むのは面倒です。そこで npm link を活用します。
開発中のディレクトリで npm link
実行することで、npm が global にインストールされている場所から開発フォルダへの symlink を追加します。これによって、global にインストールされたコマンドのように実行することができます。
Last updated