Gruntfile.jsで新しいプラグインを入れるときに楽をするやつ+何か
Gruntを使っていて、後から新しいプラグインを入れるとき、いちいち次のようにGruntfile.jsにプラグインを読み込む一文を追加しないといけない。
grunt.loadNpmTasks('grunt-new-plugin');
これはとても面倒。
面倒だし、うっかり追加忘れてエラー吐いてしまうとかよくある。ゆえにダサい。
自動化する。
module.exports = function(grunt) { // ここから var pkg = grunt.file.readJSON('package.json'); var taskName; for(taskName in pkg.devDependencies) { if(taskName.substring(0, 6) == 'grunt-') { grunt.loadNpmTasks(taskName); } } // ここまでを追加 // 以下通常通りtask定義などしていく };
これでOK。package.json
をもともと読み込んでるならそれをそのまま使えばOK。
あとはいつもどおりmodule.exports
の中にtask
を定義したり、grunt.registerTask
したりする。
他にも細かい設定とかも、Gruntfileガリガリ書いてるとそこら中に散らばったりして面倒なことが多い。そういうときも適当にgrunt.conf.json
とかそういうのを作っておいて、まとめておくと後々楽だったりするかもしれない。
その場合も同じように
var conf = grunt.file.readJSON('grunt.conf.json');
とかやってconf
を読み込んでおけば、
dest: '<%= conf.hoge %>/piyopiyo',
option: conf.hogeOpt
みたいな感じで使えて楽。多分。