Às vezes, você pode precisar usar ‘–force’ com o Grunt ao construir ou testar seu aplicativo.
Se você usar esta opção como esta, por exemplo “grunt server –force”, a opção –force será aplicada a todas as tarefas Grunt.
Mas normalmente você gostaria de aplicar a opção ‘–force’ para algumas tarefas grunhidas, mas deixar outras tarefas na sequência sem a opção ‘–force’.
A maneira como faço isso é ’empacotar’ a tarefa que desejo usar ‘–force’ entre duas outras tarefas que definirão a opção ‘–force’ ATIVADA e DESATIVADA.
Aqui está o código:
grunt.registerTask('forceOn', 'turns the --force option ON',
function() {
if ( !grunt.option( 'force' ) ) {
grunt.config.set('forceStatus', true);
grunt.option( 'force', true );
}
});
grunt.registerTask('forceOff', 'turns the --force option Off',
function() {
if ( grunt.config.get('forceStatus') ) {
grunt.option( 'force', false );
}
});
Você pode então agrupar a tarefa que deseja usar ‘–force’ com estas duas tarefas, assim:
grunt.task.run([
'clean:server',
'replace',
'forceOn', <-- turn the --force ON
'concurrent:server', <-- this task will use the --force option
'forceOff', <-- turn the --force OFF
'connect:livereload', <-- all the remaining tasks won't use --force
'open',
'watch'
]);