2014-11-23 3 views
0

я получаю то же сообщение об ошибке, как этот парень:хрюкать-вно-часы несвязанной Рекурсия Ошибка

grunt-contrib-watch causing Maximum call stack size exceeded

При запуске «черновых часов» на этом хрюкать файл:

module.exports = function(grunt) { 

    grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     uglify: { 
      options: { 
       banner: '//Copyright (c) 2014 <%= pkg.author %>. All Rights Reserved.\n' 
       }, 
      build: { 
       files: { 
        "Static/JavaScript/<%= pkg.name %>/AppLogic.Min.js": ["Static/JavaScript/<%= pkg.name %>/AppLogic.js"] 
       } 
      } 
     }, 
     less: { 
      production: { 
       options: { 
        cleancss: true 
       }, 
       files: { 
        "Static/Css/<%= pkg.name %>/Style.Min.css": ["Static/Css/<%= pkg.name %>/Style.css"] 
       } 
      } 
     }, 
     watch: { 
      scripts: { 
       files: ["Static/JavaScript/<%= pkg.name %>/AppLogic.js"], 
       tasks: ["uglify"] 
      }, 
      styles: { 
       files: ["Static/Css/<%= pkg.name %>/Style.css"], 
       tasks: ["less"] 
      } 
     } 
    }); 

    grunt.loadNpmTasks("grunt-contrib-less"); 
    grunt.loadNpmTasks("grunt-contrib-uglify"); 
    grunt.loadNpmTasks("grunt-contrib-watch") 

    grunt.registerTask("default", ["uglify", "less"]); 
    grunt.registerTask("watch", ["watch"]); 
}; 

Глядя ответ, моя проблема, похоже, имеет другую причину из другого вопроса, но что-то определенно неправильно.

Выполнение ворчания без параметров выполняется нормально, поэтому «углифицировать» и «меньше» кажутся правильно построенными.

Выполнение «грозных часов: скриптов» или «ворчащих часов: стили» также вызовет ошибку.

Любые идеи?

PS: grunt/grunt-cli устанавливаются локально в мое приложение, а не глобально на моей машине. Не думаю, что это имеет значение, чтобы решить эту проблему, но для полноты картины ...

Кроме того, я получаю следующее предупреждение кучу раз, прежде чем ошибка выскакивает:

(узел) warning: Рекурсивный process.nextTick обнаружен. Это сломается в следующей версии узла. Пожалуйста, используйте setImmediate для рекурсивной отсрочки.

+0

возможно дубликат [предупреждение: рекурсивный процесс.nextTick обнаружен] (http://stackoverflow.com/questions/22644709/warning-recursive-process-nexttick-detected) – Magnitus

ответ

0

Ах, эта проблема была не моя «смотреть» Структура задания, а эта линия:

grunt.registerTask("watch", ["watch"]); 

Именование задачи иначе, ее аргумент устранил проблему, например, так:

grunt.registerTask("watch_", ["watch"]); 

Кредиты следующий ответ, извините за дубликат:

warning: Recursive process.nextTick detected

 Смежные вопросы

  • Нет связанных вопросов^_^