我在grunt中有以下选项:
host: grunt.option('myoption')
但是,如果用户没有指定一个,我不希望我的任何任务工作。我如何在开始时检查这个?
答案 0 :(得分:0)
使用自定义任务,您可以在运行构建工作流程之前检查是否满足特定条件。下面的示例检查选项是否已定义,如果不存在则失败:
function preFlightCheck() {
if (!grunt.option('myoption')) {
grunt.fail.fatal('myoption not set!');
}
}
grunt.registerTask('preFlightCheck', preFlightCheck);
创建自定义任务后,将其添加到您的工作流程中:
grunt.registerTask('default', ['preFlightCheck', 'jslint', 'less']);
使用此方法时要记住一件事:如果使用--force
标志调用工作流,grunt将继续执行任务,即使preFlightCheck
失败也是如此。或者,您可以使用preFlightCheck
设置grunt.option('myoption')
的值,如果它丢失了:
function preFlightCheck() {
if (!grunt.option('myoption')) {
grunt.log.warn('myoption not provided, defaulting to fooBar');
grunt.option('myoption', 'foobar');
}
}