package.json の scripts についての備忘録
投稿日:2018年01月10日
お疲れ様です、ナガです。
今更ですが package.json の scripts
って何なのかよく分かってなかったのでメモ。
package.json の scripts
というフィールドには shell script と エイリアスコマンドを指定できます。
test
や start
などの予約後以外を登録した場合は npm run hogehoge
と実行します。
dependencies
や devDependencies
に入っているモジュールの bin は、自動的に PATH に入ります。
例えば node-sass
が devDependencies
に記載されている場合
{
"devDependencies": {
"node-sass": "^4.7.2"
}
}
1
2
3
4
5
2
3
4
5
scripts
は下記のように書けます。
{
"scripts": {
"build:css": "node-sass src/style.scss public_html/css"
}
}
1
2
3
4
5
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」というエラーが出た後、どのコマンドを使うか聞いてきます。