package.json の scripts についての備忘録

投稿日:2018年01月10日

Tags: bash node npm shell

お疲れ様です、ナガです。

今更ですが package.json の scripts って何なのかよく分かってなかったのでメモ。

package.json の scripts というフィールドには shell script と エイリアスコマンドを指定できます。

teststart などの予約後以外を登録した場合は npm run hogehoge と実行します。

dependenciesdevDependencies に入っているモジュールの bin は、自動的に PATH に入ります。

例えば node-sassdevDependencies に記載されている場合

{
  "devDependencies": {
    "node-sass": "^4.7.2"
  }
}
1
2
3
4
5

scripts は下記のように書けます。

{
  "scripts": {
    "build:css": "node-sass src/style.scss public_html/css"
  }
}
1
2
3
4
5

上記の build:css を実行したい場合は npm run build:css と叩けば動きます。

$ npm run build:css
1

直接コマンドを叩く

ちなみにターミナルで下記コマンドを直接叩いても、PATHが通っていないので動きません。

動かない

$ node-sass src/style.scss public_html/css
1

ターミナル上から直接モジュールを叩きたい場合は下記のように bin までのPATHを書く必要があります。

これは動く

$ node_modules/.bin/node-sass src/style.scss public_html/css
1

おまけ

下記コマンドで scripts のコマンド一覧を参照できます。

$ npm run
1

yarn でも yarn run でコマンド一覧を参照できるが、最初に「No command specified」というエラーが出た後、どのコマンドを使うか聞いてきます。

参考

Last Updated: 2019-9-9 21:37:59