Nodachisoft Nodachisoft logo, Katana Sword Icon
  
@あまじ✎ 2021年12月16日に更新

npm run スクリプトに引数を渡す方法

npm run スクリプトに引数を渡す方法

概要

引数を npm run のスクリプト(npm-run-script)に渡して動的な処理をしたいことがありましたので、 方法をサンプルコード付きで備忘しておきます。

コード

package.json ファイルで説明用の npm script を追加します。

 
package.json
  "scripts": {
    "hello": "node ./batch/helloexample.js"
  }

プロジェクト内に 「./batch/helloexample.js」という名前で以下のようなコードを書きます。

 
helloexample.js
console.log(process.argv);

これで npm run hello で nodejs を使って helloexample.js を実行できます。

実行環境としてWindows上なら cmd.exe 、Linux、MacOS 上なら /bin/sh がデフォルトで使用されます。

参考として引数を2つ書いて実行してみます。

実行
> npm run hello argument1 argument2

> project_name@version hello
> node ./batch/hello.js

[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\02_data\\01_dev\\03_nodachisoftweb\\batch\\hello.js'
  'argument1',
  'argument2'
]

npm run コマンドを実行した時に書いた引数が process.argv に渡されていることがわかります。

ハイフン付きの引数を渡す

例えば 「--option:fix"」のような文字列を引数として npm run で渡したいとします。 この場合、「npm run -- --option:fix」のように、「--」をつけてあげないとうまく渡せないので注意が必要です。

スぺース付きの引数を渡す

ダブルクオーテーション(")で空白を含む文字列を囲むことで、 スペース付きの文字列を1つの引数として渡すことが出来ます。

run
> npm run hello "arg ument !!"

> project_name@version hello
> node ./batch/hello.js

[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\02_data\\01_dev\\03_nodachisoftweb\\batch\\hello.js'
  'arg ument !!',
]

以上でした! npm-run-script で楽しい開発を!

参考

変更履歴

日付 変更概要
なし
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

javascript(nodejs) でディレクトリを再帰的にコピーする

javascript(nodejs) でディレクトリを再帰的にコピーする

#Javascript#Nodejs✎ 2021-12-16
javascript(nodejs) でディレクトリを再帰的にコピーする方法をサンプルコード付きで記載。
目次
npm run スクリプトに引数を渡す方法
npm run スクリプトに引数を渡す方法
概要
概要
コード
コード
ハイフン付きの引数を渡す
ハイフン付きの引数を渡す
スぺース付きの引数を渡す
スぺース付きの引数を渡す
参考
参考
変更履歴
変更履歴
Nodachisoft © 2021