2015-05-04 34 views
14

Zajmuję się tworzeniem modułu w Node.js, który mam npm-linked do innego projektu node_modules folderu. Chciałbym zrestartować ten inny serwer projektów po zmianie pliku w moim module. Nodemon domyślnie ignoruje node_modules, ale założyłem, że mogę to zmienić za pomocą nodemon --watch node_modules/my_module - ale nie mogę go uruchomić. Jeśli tymczasowo usunę moduł node_modules z Nodemons lib/config/defaults.js, to działa, co prawdopodobnie potwierdza, że ​​problem ma związek z nadpisaniem domyślnego zachowania.Jak monitorować dowiązane moduły za pomocą Nodemon?

+0

Sam w to wchodzę. Myślałem o używaniu pliku forever.js, ale wygląda na to, że biblioteka faktycznie nie obsługuje wysyłania danych wyjściowych dziennika do stdout (co jest moim zdaniem najlepszym rozwiązaniem). –

+0

... aaa i znalazłem rozwiązanie. Przypuszczam, że powinienem był to wcześniej wypróbować. –

Odpowiedz

2

Korzystanie nodemon 1.2.1, jestem w stanie wykonać następujące czynności, aby dostać zegarki pracujących z linkiem npm:

$ nodemon --watch . --watch $(realpath node_modules/my_module) 

Zasadniczo ... trzeba uważać katalog jesteś w (twój katalog projektu), a następnie określ zegarek do samego dowiązania symbolicznego. nodemon domyślnie ignoruje node_modules, więc jednoznacznie określając to w zegarka. Możesz spróbować zaktualizować swoją wersję nodemon, jeśli to nie działa.

+0

To już nie działa, zobacz [ten numer] (https://github.com/remy/nodemon/issues/794); – Tamlyn

+0

@Tamlyn Hey - możesz edytować moją odpowiedź, dodając nową poprawkę, jeśli istnieje. Jeśli jest to dobra odpowiedź, mogę utworzyć tę wiki społeczności i zostawić ją otwartą na edycje. –

+0

To działało dla mnie właśnie teraz po uruchomieniu 'brew install coreutils' (macOS). W przeciwnym razie nie znaleziono komendy 'realpath'. Dobrym pomysłem jest uruchamianie 'realpath node_modules/my_module' oddzielnie, aby zapewnić, że zwróci coś znaczącego i tylko wtedy wywołaj' nodemon ... '. –