かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Gruntfile.jsを変更したらエラーが出るようになった時にチェックすること。

Gruntのタスクを追加しようと思いGruntfileを変更したら、grunt実行時に下の様なエラーが出るようになってしまいました。

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

どうやらgrunt.registerTaskで追加したタスクの名前が良くないようです。

エラーに成った例

module.exports = function(grunt) {
  grunt.initConfig({
    // 処理
    watch: {
      jade: {
        files: [
          '/**/*.jade',
        ],
        tasks: ['jade'],
      },
      // 処理
    }
  });

  for(var taskName in pkg.devDependencies) {
    if(taskName.substring(0, 6) == 'grunt-') {
      grunt.loadNpmTasks(taskName);
    }
  }

  grunt.registerTask('jade', ['jade:compile']);

  grunt.registerTask('default', 'watch');
};

jade というタスク名が良くないっぽい

タスク名を変更すれば解決

module.exports = function(grunt) {
  grunt.initConfig({
    // 処理
    watch: {
      jade: {
        files: [
          '/**/*.jade',
        ],
        // タスク名を変更
        tasks: ['jadeTask'],
      },
      // 処理
    }
  });

  for(var taskName in pkg.devDependencies) {
    if(taskName.substring(0, 6) == 'grunt-') {
      grunt.loadNpmTasks(taskName);
    }
  }

  // タスク名を変更
  grunt.registerTask('jadeTask', ['jade:compile']);

  grunt.registerTask('default', 'watch');
};

[参考] メモ:Gruntfileをいじったあと実行してエラーが出たときの対処 - Qiita