2015-06-27 7 views

Odpowiedz

1

Udało mi się ustawić to na drugi dzień, więc opublikuję możliwe rozwiązanie.

Niezależnie od tego, czy starasz się używać grunt.config lub <%= ... %> szablonów dynamicznie modyfikować obiekt config (udostępnianie danych pomiędzy zadaniami), problem może być, że watch domyślnie spawns child processes dla uruchamianych zadań, podejmowania eslint przebiegać w innym kontekście.

Aby obejść ten problem, wystarczy użyć opcji opcji spawn:false podczas konfigurowania watch.

Zasadniczo skonfigurować swoje zadania jako takie:

watch: { 
    scripts: { 
    files: ['**/*.js'], 
    tasks: ['eslint'], 
    options: { 
     spawn: false, // !!! 
    }, 
    }, 
}, 
eslint: { 
    target: '<%= changedFiles %>' 
} 

Następnie dołączyć obsługi zdarzeń w przypadku zegarka, ustawienie changedFiles:

grunt.event.on('watch', function(action, filepath){ 
    grunt.config('changedFiles', filepath); 
} 

Można również zmodyfikować eslint.target bezpośrednio w module obsługi zdarzeń , ale posiadanie atrybutów przenosić zmienione pliki powoduje, że są one dostępne dla dowolnej liczby zadań, które mogą z nich korzystać.

Powiązane problemy