Я изучаю модуль grunt-inline и столкнулся со следующей проблемой. У меня конфиг следующее задание по:Почему GruntJS не прерывает выполнение, если выбрано исключение?
grunt.initConfig({
inline: {
options: {
uglify: true
},
dist: {
src: 'src/index.html',
dest: 'dist/index.html'
}
}
});
Из конфигурации выше uglify: true
опция означает выполнение UglifyJS.minify
на this line:
var c = options.uglify ? UglifyJS.minify(inlineFilePath).code : grunt.file.read(inlineFilePath);
Проблема заключается в том, что если UglifyJS.minify
бросает исключение (который я просто сталкивался с) команда grunt inline
не выйдет из строя, но завершена.
Итак, проблема с этим модулем, когда у меня отсутствуют флаги какого-то гранта?
Было бы здорово, если бы вы могли объяснить мне, как разбить выполнение ворчания на любые исключения.
EDIT: Кроме того, я заметил, что если я поймаю исключение и повторно бросить его сам он ломает ворчание хорошо, как в следующем:
try {
var c = options.uglify ? UglifyJS.minify(inlineFilePath).code : grunt.file.read(inlineFilePath);
} catch(e) {
throw new Error(e.message);
}
Так почему does't исключение из UglifyJS.minify(inlineFilePath).code
перерыва gruntjs задача?
Спасибо за ответ. Но почему, если я могу поймать исключение из 'UglifyJS.minify', это не перерыв? См. Мое обновленное сообщение: – Erik
Grunt обрабатывает исключения, прикрепленные к объекту grunt. Объект grunt должен использоваться для связи с gruntjs. http://gruntjs.com/api/grunt – Revive
Это немного неправда. Как я описал в обновлении моего сообщения выше, хрюк ломается, если я сам выброшу исключение. – Erik