npm run-script に環境変数を渡す方法
Node.js の環境変数の仕組みを使うと、npm run-script
に環境変数を渡すことができる。
# 例えば開発モードにして Gulp ビルドする、とか。
$ DEV_MODE=true npm run gulp build:js
こんな風にすると、実行するコード中、例えば gulpfile.js
内とかで、process.env.DEV_MODE
の値を参照できるようになる。これを利用すれば、開発時のみビルドするコードにモックスクリプトを混ぜ込むとか、ビルド時に Uglify しないとかいう制御ができる。もしくはサーバ起動の方法を切り替えるようなこともできるだろう。
// 例えば gulpfile.js でのビルドタスクの処理を振り分けるイメージ
var gulp = require('gulp');
gulp.task('build:js', () => {
if(process.env.DEV_MODE) {
// 開発モードの時はこの方法でビルドする…
}
else {
// 環境変数未指定の場合 (本番モード) は以下の方法でビルドする…
}
});
先程の $ 環境変数=値 npm run スクリプト名
という書き方は、Mac や Linux では上手く動作するが、Windows では上手く動作させられない場合がある。Windows でも上手く環境変数を渡す方法は次回紹介する。
次回 :