Vagrant環境でload-grunt-taskを使ったGruntのtaskが遅いのでjit-gruntに変えた
インストール
% npm install jit-grunt -D % npm uninstall load-grunt-tasks -D
jit-gruntを使うようにGruntfile.coffeeを書き換え。
後、watchにspawn: falseも追加しといた。
#Gruntfile.coffee module.exports = (grunt) -> # Load grunt tasks automatically - require("load-grunt-tasks")(grunt) + require('jit-grunt')(grunt) + grunt.loadNpmTasks('grunt-connect-proxy') + grunt.loadNpmTasks('grunt-protractor-runner') + grunt.loadNpmTasks('grunt-google-cdn') + grunt.loadNpmTasks('grunt-usemin') # Time how long tasks take. Can help when optimizing build times require("time-grunt")(grunt) # ----------------省略------------------ # Watches files for changes and runs tasks based on the changed files watch: + options: + spawn: false
# package.json "grunt-wiredep": "^1.7.0", + "jit-grunt": "^0.8.0", "jshint-stylish": "^0.2.0", # ----------------省略------------------ "karma-spec-reporter": "0.0.13", - "load-grunt-tasks": "^0.4.0", "protractor": "^1.0.0",
jit-gruntは load-grunt-tasksだと読み込んでくれてたものを読み込んでくれないパッケージがある*1ので、読み込んでくれないパッケージは明示的にloadNpmTasksする。 どれが読み込まれないのかよくわからなかったら、差し替えてtaskを実行してみれば見つからないと表示してくれるので、それを読みこめばOK.
jit-grunt: Plugin for the "useminPrepare" task not found. If you have installed the plugin already, please setting the static mapping. See https://github.com/shootaroo/jit-grunt#static-mappings
早くなりました。
参考
*1:読み込み規則がちがう