Come posso eseguire nodemon da WebStorm?


84

Vorrei utilizzare nodemon dall'interno WebStorm IDE (versione 7). Nodemon controlla uno o più file nella mia cartella di origine e riavvia il processo del nodo (un server Express in questo caso), quando uno dei file di origine cambia.

Come si configura WebStorm per utilizzare nodemon in una configurazione di esecuzione , in modo che il processo del nodo venga riavviato automaticamente?

Senza nodemon , utilizzo la seguente configurazione in WebStorm, ma devo riavviare il processo del nodo ogni volta che cambio qualcosa nel file sorgente:

  • Interprete del nodo: /usr/local/bin/node
  • Directory di lavoro: /Users/foo/test
  • File JavaScript: server.js

Ciò si traduce in una configurazione di esecuzione eseguita node server.jsnella directory specificata.

Dalla riga di comando, posso utilizzare il seguente comando per utilizzare nodemon per controllare le modifiche ai file: nodemon server.jsnella directory del progetto.

Come devo modificare la configurazione di WebStorm in modo che utilizzi anche nodemon ?


Questa domanda sembra essere sulla stessa linea: stackoverflow.com/questions/11175041/...
nwinkler

Vedi la mia risposta stackoverflow.com/a/52463378/7350853 sta utilizzando la versione più aggiornata di Webstorm finora.
iwaduarte

Risposte:


143

Sembra che la soluzione alternativa con --execnon sia più necessaria, almeno quando si utilizza la versione più recente di nodemon e Webstorm 7 o 8.

Tutto quello che devi fare è specificare il tuo percorso per nodemon ottenendo il suo percorso con l'esecuzione which nodemonnella tua console (ad esempio /usr/local/bin/nodemon) sotto "Parametri nodo":

Webstorm con nodemon

@Bela Clark, grazie per la conferma.


Ho appena provato: ora funziona perfettamente. Grazie per aver fornito una risposta aggiornata!
nwinkler

8
@bernhardw, webstorm non si ferma sui punti di interruzione all'avvio del debugger con queste configurazioni. Qualche idea sul perché?
Nik Sumeiko

4
Sono riuscito a far funzionare nodemon e punti di interruzione seguendo queste istruzioni: vcfvct.wordpress.com/2015/02/13/… Nota che ho usato --debug-brk invece di --debug
n00b

1
Per far funzionare il debug ho dovuto usare il collegamento Live Edit per IntelliJ invece di nodemon.
motore

1
Buona risposta ! Grazie
Julien

33

Questa è la soluzione Windows

Puoi semplicemente usare nodemon.cmd invece di node direttamente come:

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*/

e poi :

inserisci qui la descrizione dell'immagine

Spero che ti possa aiutare.


Ho pensato che questa fosse la risposta più semplice.
Paul Wade

6
Ciao, ho provato questo e quando cambio un file mi chiede (nella console Web Storm) "Terminate batch job (Y / N)?". Vedo anche che il comando in esecuzione è: "C: \ Program Files (x86) \ JetBrains \ WebStorm 8.0.4 \ bin \ runnerw.exe" C: \ Users \ xyz \ AppData \ Roaming \ npm \ nodemon.cmd - -debug-brk = 27344 --nolazy -q app.js. Mi manca qualcosa?
Tomer Cagan

1
per il problema "terminate batch job" è sufficiente aggiungere "<nul" (omettere virgolette) all'ingresso "Application parameters". (risposta trovata qui: superuser.com/a/498798 )
Tobias Weichart

Perché questo è votato? Non funzionerà, quando nodemon si riavvia non aggiunge "<nul" dall'inizio iniziale, quindi ottieni ancora "Terminate batch job (Y / N)?"
KVM

18

Per installare nodemon , utilizzare quanto segue (se necessario, utilizzare sudo per eseguire l'installazione con i privilegi di root:

npm install -g nodemon

Questo installerà nodemon globalmente sulla tua macchina.

Quindi, nella configurazione di esecuzione di WebStorm , aggiungi quanto segue, lasciando tutto il resto invariato:

  • Parametri del nodo: /usr/local/bin/nodemon --exec /usr/local/bin/node

Questo indicherà l'interprete nodo per eseguire lo nodemonscript utilizzando la seguente riga di comando: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

La --execparte è importante, poiché l'esecuzione fallirà con il seguente errore:

/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)

L'errore sembra essere causato da WebStorm che non vede l' nodeeseguibile sul suo percorso.

La soluzione per ciò è specificare la posizione nodedell'eseguibile utilizzando il --exec /usr/local/bin/nodeparametro.

Utilizzando queste impostazioni, nodemon funziona correttamente quando viene eseguito da una configurazione di esecuzione WebStorm .

Lo stesso trucco potrebbe dover essere utilizzato con alcuni strumenti simili a nodemon , ad esempio node-supervisor .


1
Funziona per Run Configuration, ma non con Debug. Qualche idea per eseguire il debug anche con nodemon in webstorm?
yves amsellem

3
Almeno con Webstorm 8 EAP e nodemon 1.0.15 non devi --execpiù specificare . Tutto quello che dovevo fare era usare /usr/local/bin/nodemonin "Parametri nodo".
bernhardw

@bernhardw: posso confermare lo stesso
Bala Clark

18

Sono su Windows e per me non ho lavorato con nodemon (non ho idea del perché), ma qualcuno di Jetbrains ha suggerito di provare con il supervisore:

  1. Ho installato il supervisore: npm install supervisor -g

  2. Quindi trova dove è supervisorinstallato, per me era in: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Sono tornato a Intellij: modifica configurazioni -> parametri nodo -> e ho aggiunto: C: \ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –no-restart-on error

modificare le configurazioni

parametri del nodo


1
Per fermarti al breakpoint dovresti aggiungere questo: --debug-brke la stringa completa è C:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brkCheck from jetbrains jetbrains.com/phpstorm/webhelp/… address
uzay95

1
Non è stato possibile far funzionare Nodemon su Windows 8 con Webstorm 9, ha funzionato a meraviglia
Simon Trewhella,

1
Funziona per me (Webstorm 11 su Windows) ma i punti di interruzione non funzionano. Ho provato ad aggiungere --debug-brkma senza fortuna.
elettrotipia


14

Per chi fosse interessato alla soluzione in Windows 10, ecco la mia configurazione. Non mostra "Terminate Batch" e funziona perfettamente.

inserisci qui la descrizione dell'immagine

Si preme debug UNA VOLTA e si può salvare qualsiasi file di modifica e il server verrà riavviato in modalità debug. Tutti i punti di frenata funzionano perfettamente


questa è una risposta funzionante per il debug. Ho impostato solo i parametri del nodo. parametri del nodo come testo (cambia nome utente): c: \ users \ username \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js --debug = 3001
Alexey Obukhov

Questo non ha funzionato per me. L'aggiunta del parametro --debug = 3001 ha provocato l'arresto anomalo del nodemon
JCF

Grazie, il funzionamento di base funziona e anche il debug senza problemi! Questa dovrebbe essere la risposta TOP!
Georgi Peev

8

Per gli utenti Windows impostare:

Interprete nodo: percorso di node.exe, ad esempio c: \ file di programma \ node \ node.exe

Parametro nodo: C: \ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js


Questo ha funzionato per me! Il debug e i punti di interruzione funzionano perfettamente. Nodo versione 10.15.1 nodemon versione 1.18.10 Webstorm 2018.3.5
JCF

5

Puoi anche farlo funzionare con nvm e il debug funziona ancora.

Testato con Node.js 8.1.0 e Webstorm 2017.2

Per prima cosa assicurati di essere sulla versione giusta (nel mio caso v8.1.0) e installa nodemon a livello globale -

nvm use v8.1.0
npm install -g nodemon

Quindi, apri le configurazioni Esegui / Debug e creane una nuova con l'interprete del nodo corretto.

I parametri del nodo dovrebbero essere:

MAC

/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

Salva ed esegui il debug respponsibally :)

Debug webstorm di Node.js nodemon


4

Ecco la configurazione che funziona per me su Windows 7 + WebStorm 8.0.4. Se inserisco nodemon.cmd come interprete del nodo continuavo a ricevere "Terminate batch job (Y / N)?".

Nodemon + Webstorm su Windows


guarda la mia risposta riguardo a questa domanda su Windows, penso che stavi indicando il file nodemon.cmd sbagliato
Alexander Mills

3

Nel caso in cui tu abbia installato nodemon come una libreria globale, imposta semplicemente i parametri del nodo:

C: \ Users \ $ {yourUser} \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js

nodemon in webstorm


Funziona a meraviglia attraverso nvm e npm 14.7.0
Eugene Zalivadnyi

2

Questa è l'unica cosa che ha funzionato per me:

  1. Aggiungi un nuovo comando di script di esecuzione del nodo package.json:

inserisci qui la descrizione dell'immagine

  1. Crea una configurazione NPM (non una configurazione del nodo)
  2. Seleziona "start-watch" come comando

inserisci qui la descrizione dell'immagine

Per me questo ha funzionato per il debug / punti di interruzione senza problemi o mal di testa aggiuntivi.


1

alcune di queste risposte sembrano funzionare solo per Mac. Per Windows, questa configurazione sembra funzionare (il mio nome utente su Windows 7 è denman).

inserisci qui la descrizione dell'immagine

main.js è il file del punto di partenza per la mia applicazione Express.


0
  1. Eseguire un'installazione npm nodmemon -g
  2. Cambia solo il percorso al nodo in nodemon.cmd, nel mio caso (C: \ Users \ Rohit Taneja \ AppData \ Roaming \ npm \ nodemon.cmd), riceverai questo percorso anche al termine dell'installazione di nodemon.

  3. Sei a posto


0

Per @bernhardw commento, poiché questa era la risposta per me -

Tutto ciò che serve è /usr/local/bin/nodemonin node parameters Works per l'esecuzione e il debug poiché si riavvia in caso di modifiche, ma il debug con il punto di interruzione non funziona.

Bonus: aggiungi -e per più estensione es /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubimina 7.1.4)

HTH


0

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

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine


0

Script in package.json: "start": "nodemon --inspect -r babel-register src",

Prima immagine: esegui il debug e inizierà

Seconda immagine: collegamento al nodo in esecuzione esistente impostazioni inserisci qui la descrizione dell'immagine


0

Ecco una correzione per un errore che stavo ricevendo ...

Se stai usando Windows + NodeJS + nodemon. Con IntelliJ - Configurazione di esecuzione.

ERROR: starting inspector on failed: address already in use

Quando utilizzo la versione 1.19.1 di nodemon, ottengo l'errore. Quando uso nodemon versione 1.18.11, funziona!

In bocca al lupo...


0

Basta aggiungere un nuovo script a package.jsonchiamato nodemon (o scegliere il proprio nome)

"scripts": {
  ...
  "nodemon": "nodemon ./bin/www"
}

Quindi vai su Esegui / Debug Configurazione e aggiungi la configurazione npm . Impostato

  • Comando per " correre "
  • Script per " nodemon " (nome scelto in package.json)

esempio


0

Ho uno sviluppo in mac e come indica OdkoPP l'ho fatto funzionare

"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},

Configurazioni di esecuzione / debug npm: Configurazioni di esecuzione / debug npm

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.