npmはNode.jsインストール時に付属するパッケージ管理マネージャで、Node.jsのパッケージの管理や実行を取り扱うものです。Node.jsをインストールすることでnpmコマンドが使用できるようになります。
このnpmのバージョン5.2.0で導入されたnpxを使用すると、ローカルにインストールしたnpmパッケージをnpxコマンドで実行できます。
gulpをバッチファイルで実行する場合、以下のように記述します。
chcp 65001
cd /D C:\xxx\_gulp
cmd /k npx gulp
コマンドプロンプトのデフォルトの文字コードはShift_JISのため、まずchcp 65001を実行してUTF-8に変更します。
次に、cdコマンドでgulpfile.jsが格納されているディレクトリにに移動します。この時cdコマンドの/Dオプションを使用してドライブ間の移動を可能にしています。
最後に、cmdコマンドでコマンドプロンプトの新しいインスタンスを開始します。cmdコマンドの/kオプションは、オプションに後続する文字列で指定されたコマンドを実行し、制御は新しいインスタンスに移ります。ここでnpxコマンドを使ってgulpを実行します。
gulpはタスク名を指定せずに実行します。タスク名を指定しないと、gulpfile.js内のtaskメソッドの第一引数が「default」のタスクのみ実行します。
//gulpfile.js
gulp.task('default', 実行処理);
default以外のタスクを実行する場合は「npx gulp taskメソッドの第一引数」のようにタスク名を指定して実行します。以下は拡張子.mapファイル削除用の実行です。
npx gulp clean
//gulpfile.js
gulp.task('clean', cleanMapFiles);
なお、ローカルにインストールされていないパッケージをnpxコマンドで指定した場合、パッケージをインストールしてから実行し、実行後にパッケージを破棄します。





