Chciałbym używać nodemona z poziomu WebStorm IDE (wersja 7). Nodemon obserwuje jeden lub więcej plików w moim folderze źródłowym i ponownie uruchamia proces węzła (w tym przypadku serwer Express), gdy zmieni się jeden z plików źródłowych.
Jak skonfigurować WebStorm, aby używał nodemon w Run Configuration , tak aby proces węzła był automatycznie restartowany?
Bez nodemona używam następującej konfiguracji w WebStorm, ale muszę ponownie uruchomić proces węzła za każdym razem, gdy zmienię coś w pliku źródłowym:
- Interpreter węzłów:
/usr/local/bin/node
- Katalog roboczy:
/Users/foo/test
- Plik JavaScript:
server.js
Powoduje to uruchomienie konfiguracji, która działa node server.js
w określonym katalogu.
Z wiersza poleceń mogę użyć następującego polecenia, aby użyć nodemona do obserwowania zmian plików: nodemon server.js
w katalogu projektu.
Jak mam zmienić konfigurację WebStorm, aby również używał nodemon ?
źródło
Odpowiedzi:
Wygląda na to, że obejście
--exec
nie jest już konieczne, przynajmniej w przypadku korzystania z najnowszej wersji nodemon i Webstorm 7 lub 8.Wszystko, co musisz zrobić, to podać ścieżkę do nodemona , uzyskując ścieżkę do uruchomienia
which nodemon
w konsoli (np./usr/local/bin/nodemon
) W sekcji „Parametry węzła”:@Bela Clark, dzięki za potwierdzenie.
źródło
To jest rozwiązanie Windows
Możesz po prostu użyć nodemon.cmd zamiast node bezpośrednio, jak:
Node interpreter : C:\MyPath\To\nodemon.cmd Node parameters : /*Empty for me*/ Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js JavaScriptFile : app\index.js /*or just index.js depending on your config*/
i wtedy :
Mam nadzieję, że to ci pomoże.
źródło
Aby zainstalować nodemon , użyj następującego (w razie potrzeby użyj sudo, aby uruchomić instalację z uprawnieniami roota:
Spowoduje to globalną instalację nodemona na twoim komputerze.
Następnie w konfiguracji uruchamiania WebStorm dodaj następujące elementy, pozostawiając wszystko inne bez zmian:
/usr/local/bin/nodemon --exec /usr/local/bin/node
To instruować tłumacza węzła wykonać
nodemon
skrypt za pomocą następującego polecenia:node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js
.--exec
Część jest ważna, gdy wykonanie nie powiedzie się z powodu następującego błędu:/usr/local/bin/node /usr/local/bin/nodemon server.js 4 Oct 13:56:50 - [nodemon] v0.7.10 4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs` 4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test execvp(): No such file or directory 4 Oct 13:56:50 - [nodemon] starting `node server.js` 4 Oct 13:56:50 - [nodemon] exception in nodemon killing node Error: spawn ENOENT at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34)
Wydaje się, że błąd jest spowodowany tym, że WebStorm nie widzi
node
pliku wykonywalnego na swojej ścieżce.Rozwiązaniem tego problemu jest określenie lokalizacji
node
pliku wykonywalnego za pomocą--exec /usr/local/bin/node
parametru.Korzystając z tych ustawień, nodemon działa dobrze, gdy jest uruchamiany z WebStorm Run Configuration .
Ta sama sztuczka mogłaby zostać zastosowana w przypadku niektórych narzędzi podobnych do nodemona , np. Node-supervisor .
źródło
--exec
już określać . Wszystko, co musiałem zrobić, to użyć/usr/local/bin/nodemon
w "Parametry węzła".Jestem na Windowsie i nie współpracowałem z nodemonem (nie mam pojęcia dlaczego), ale ktoś z Jetbrains zasugerował, aby spróbować z przełożonym:
Zainstalowałem nadzorcę:
npm install supervisor -g
Następnie znajdź, gdzie jest
supervisor
zainstalowany, dla mnie był:C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error
Wróciłem do Intellij: edytuj konfiguracje -> parametry węzła -> i dodałem: C: \ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –no-restart-on error
źródło
--debug-brk
a cały ciąg toC:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brk
Sprawdź z jetbrains jetbrains.com/phpstorm/webhelp/ ... adres--debug-brk
ale bez powodzenia.--inspect
flagą, a następnie dołącz do niego debugger .Dla zainteresowanych rozwiązaniem w Windows 10 oto moja konfiguracja. Nie pokazuje "Terminate Batch" i działa doskonale.
Naciskasz debuguj RAZ i wtedy możesz zapisać pliki zmian cokolwiek, a serwer uruchomi się ponownie w trybie debugowania. Wszystkie punkty hamowania działają idealnie
źródło
Dla użytkowników systemu Windows ustawiono:
Interpreter węzła: ścieżka do pliku node.exe, czyli c: \ program files \ node \ node.exe
Parametr węzła: C: \ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js
źródło
Możesz także sprawić, by działał z NVM, a debugowanie nadal działa.
Testowane z Node.js 8.1.0 i Webstorm 2017.2
Najpierw upewnij się, że masz odpowiednią wersję (w moim przypadku v8.1.0) i zainstaluj nodemon globalnie -
nvm use v8.1.0 npm install -g nodemon
Następnie otwórz konfiguracje Run / Debug i utwórz nową z poprawnym interpreterem węzłów.
Parametry węzła powinny być:
PROCHOWIEC
/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001
LINUX
/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001
Zapisz i debuguj odpowiednio :)
źródło
Oto konfiguracja, która działa dla mnie w systemie Windows 7 + WebStorm 8.0.4. Jeśli umieściłem nodemon.cmd jako interpreter węzła, otrzymywałem komunikat „Zakończenie zadania wsadowego (T / N)?”.
źródło
Jeśli zainstalowałeś nodemona jak globalną bibliotekę, po prostu ustaw parametry węzła:
C: \ Users \ $ {yourUser} \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js
źródło
To jedyna rzecz, która zadziałała dla mnie:
U mnie to działało w przypadku debugowania / punktów przerwania bez problemów lub dodatkowego bólu głowy.
źródło
niektóre z tych odpowiedzi działają tylko na komputerach Mac. W przypadku systemu Windows ta konfiguracja wydaje się działać (moja nazwa użytkownika w systemie Windows 7 to denman).
main.js to plik punktu wyjścia dla mojej aplikacji Express.
źródło
Zmień ścieżkę do węzła tylko na nodemon.cmd, w moim przypadku (C: \ Users \ Rohit Taneja \ AppData \ Roaming \ npm \ nodemon.cmd), otrzymasz również tę ścieżkę po zakończeniu instalacji nodemon.
Jesteś gotowy
źródło
Za komentarz @bernhardw, bo to była odpowiedź dla mnie -
Wszystko, co jest potrzebne, znajduje się w
/usr/local/bin/nodemon
obszarzenode parameters
Works do uruchamiania i debugowania, ponieważ uruchamia się ponownie po zmianach, ale debugowanie z punktem przerwania nie działa.Bonus: dodaj -e dla większego rozszerzenia np
/usr/local/bin/nodemon -e js,html,jade
(osx 10.10.5, rubymina 7.1.4)
HTH
źródło
npm install -g nodemon
1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js 2* Select Node.js and Press '+' 3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js 4* Click Apply and Ok 5* Run the Nodemon
źródło
Skrypt w package.json: "start": "nodemon --inspect -r babel-register src",
Pierwsze zdjęcie: Uruchom debugowanie, a to się rozpocznie
Drugie zdjęcie: dołączanie do istniejącego działającego węzła
źródło
Oto poprawka dotycząca błędu, który otrzymuję ...
Jeśli używasz nodemona Windows + NodeJS +. Z konfiguracją IntelliJ - Run.
ERROR: starting inspector on failed: address already in use
Kiedy używam nodemon w wersji 1.19.1, pojawia się błąd. Kiedy używam nodemon w wersji 1.18.11, to działa!
Powodzenia...
źródło
Po prostu dodaj nowy skrypt do
package.json
nazwanego nodemona (lub wybierz własne imię)"scripts": { ... "nodemon": "nodemon ./bin/www" }
Następnie przejdź do Run / Debug Configuration i dodaj konfigurację npm . Zestaw
źródło
Mam rozwój w Macu i jak wskazuje OdkoPP, sprawiłem, że zadziałało
"scripts": { "build": "tsc", "dev": "nodemon src/index.ts --exec ts-node" },
Konfiguracje uruchamiania / debugowania npm:
źródło