Часы Grunt не работают меньше после исправления ошибок
У меня проблема с тем, что Grunt Watch не перезапускает задачи после исправления ошибок компиляции.
Я получаю сообщение об ошибке, но после исправления ошибки grunt говорит, что файл был изменен, но после этой задачи не выполняются задачи.
Файл Grunt:
watch: {
less: {
files: ['public/assets/less/**/*.less'],
tasks: ['css'],
options: {
atBegin: true,
nospawn: true
}
},
scripts: {
files: [
'public/assets/js/homepage.js'
],
tasks: ['jsApp'],
options: {
nospawn: true,
}
}
},
Журнал ошибок:
>> ParseError: Unrecognised input in public/assets/less/template.less on line 114, column 31:
>> 114 @media screen and (max-width: 767px) {
>> 115 left: 0;
Warning: Error compiling public/assets/less/main.less
// ----- Corrected the file here, saved again -----
>> File "public/assets/less/template.less" changed.
Конец файла. Ничего после этого момента.
Ответы
Ответ 1
Это проблема с функцией появления всплывающих подсказок в роли команды grunt-contrib-watch, вероятно, вы хотите удалить nospawn. Возможно, вы захотите попробовать версию 1.0.0 из ворчащих часов, если вы еще этого не сделали.
Этот вопрос обсуждался ранее
https://github.com/gruntjs/grunt-contrib-watch/issues/58
Также обратите внимание на документацию:
Непроисходящие задачи могут сделать часы более склонными к сбою, поэтому пожалуйста, используйте по мере необходимости.
В вашем положении я сначала обновляю, вижу, что у меня есть последняя версия ворчания, ворчащие часы и хрюкать меньше. Если бы это не решило проблему, я бы просто позволил ей нормально появляться.
Ответ 2
Вы можете просто упростить свой файл следующим образом:
//src ===============================
var src;
config.src = src = {
libFolder : 'lib/**/*.js',
lessFolder : 'less/**/*.less',
};
//Watch ===============================
config.watch = {
scripts: {
files: ["<%= src.libFolder %>", "<%= src.lessFolder %>"]
,tasks: ["dev", "less:dist"]
}
}
вам нужно вставить задачи и файлы для просмотра:
в этом случае выше grunt просматривает все файлы из папки lib и less, если я что-то поменяю, grunt запустит задачу.
вам также нужно вставить задачи, которые должны выполняться до тех пор, пока вы не остановите просмотр.
В этом случае я запускаю dev и меньше: dist в то же время.
на dev я бегу: 'sprite', 'imagemin', 'concat: dev', 'uglify',
grunt.registerTask('dev',['sprite','imagemin','concat:dev', 'uglify']);
поэтому я вставил эту задачу в грубые часы, поэтому grunt будет следить за запуском всех задач без ошибок.
Надеюсь, это помогло вам.
Ответ 3
У меня точно такая же проблема (комбинация grunt-contrib-watch и grunt-contrib-less).
Одно решение установлено spawn: true
, но время сборки увеличивается намного дольше.
Я обнаружил, что эта проблема возникает при использовании последних версий grunt-contrib-less (все версии начиная с версии 1.0.0). Использование grunt-contrib-less 0.12.0 У меня нет проблем с продолжением работы после исправления ошибки.