2014-09-25 24 views
7

Próbuję skonfigurować grunt-notify z grunt-contrib-less i grunt-contrib-watch. Generalnie działa to dobrze, ale nie mogę uzyskać pomruki-powiadom, aby powiadomić mnie, gdy bezmózgi są wykonywane z powodzeniem.ground-notify: nie uruchamia się po pomyślnym wykonaniu

Jeśli ktokolwiek ma jakąkolwiek wiedzę na temat konfiguracji lub debugowania, z przyjemnością otrzymuje jakiekolwiek dane wejściowe.


Pełna informacja:

mam setup grunt zgłasza do uruchomienia gdy mniej jest prowadzony za pomocą zegarka. Działa to świetnie, gdy mniej zadań zawodzi. Daje mi wielki błąd pop-up:

image

Dla porównania jest to wyjście konsoli:

image

Kiedy mniej powiedzie, ja nie dostaję żadnego powiadomienia. Chciałbym otrzymać powiadomienie, ale nie wiem, jak to włączyć.

To wyjście konsola gdy mniej powiedzie:

image

To GruntFile że używam:

module.exports = function(grunt) { 

    grunt.initConfig({ 

     less: { 
      development: { 
       options: { 
        compress: true 
       }, 
       files: { 
        "FILE.css": "FILE2.less" 
       } 
      } 
     }, 

     watch: { 
      less: { 
       files: '**/*.less', 
       tasks: ['less', 'notify_hooks'] 
      } 
     }, 


     notify_hooks: { 
      options: { 
       message: "MESSAGE" 
      } 

     } 


    }); 

    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-notify'); 

    grunt.registerTask("default", ['less']); 

}; 

Original question on Github

Odpowiedz

9

Musisz dodaj wiadomość dla y nasze zadanie do pliku gruntów i określ, do którego zadania będzie przekazywać tę wiadomość. Zobacz poniżej

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built", 
      message: "Less task complete" 
     } 
    } 
} 

odsyłającym można zobaczyć je wykorzystywać w git repo readme

dodaną dla kompletności:

Jak uKolka wspomniał poniżej, będzie również wymagać zadanie zegarek ma być aktualizowana zgodnie z jego rozwiązanie:

watch: { 
    less: { 
     files: '**/*.less', 
     tasks: ['less', 'notify:less'] 
    } 
}, 

Gdzie notify:less referencje mniej zadanie w obiekcie powiadomią.

+0

Dzięki! Przysięgam, że próbowałem tego wczoraj, ale to nie zadziałało. Działa teraz, więc dzięki! - Przyjmie to jako zaakceptowaną odpowiedź w ciągu 5 minut (raz dozwolone). – sixtyfootersdude

+0

Nie ma problemu, cieszę się, że zadziałało. – DavidT

8

Należy zauważyć, że określenie zadania powiadamiania ...

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built" 
      message: "Less task complete" 
     } 
    } 
} 

... to tylko część umowy.

Powinien również zostać zarejestrowany w zadaniu, które ma zostać uruchomione.

Tak dla kodu oryginalnego OP pracować

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify_hooks'] 
     } 
    }, 

należy zmienić

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify:less'] 
     } 
    }, 

ten odwołuje się do notify:less wspomniano wcześniej.

+0

Ta odpowiedź stanowi prawdziwe rozwiązanie problemu, w którym większość ludzi może się nieźle konfigurować. – Ikon