javascript - node debug app js
¿Cómo puedo ejecutar nodemon desde WebStorm? (13)
Me gustaría utilizar nodemon desde WebStorm IDE (versión 7). Nodemon observa uno o más archivos en mi carpeta fuente y reinicia el proceso del nodo (un servidor Express en este caso), cuando uno de los archivos fuente cambia.
¿Cómo configuro WebStorm para utilizar nodemon en una configuración de ejecución , de modo que el proceso del nodo se reinicie automáticamente?
Sin nodemon , utilizo la siguiente configuración en WebStorm, pero tengo que reiniciar el proceso del nodo cada vez que cambio algo en el archivo fuente:
- Intérprete de nodo:
/usr/local/bin/node
- Directorio de trabajo:
/Users/foo/test
- Archivo de JavaScript:
server.js
Esto da como resultado una Configuración de ejecución que ejecuta el node server.js
en el directorio especificado.
Desde la línea de comandos, puedo usar el siguiente comando para usar nodemon para ver los cambios de archivos: nodemon server.js
en el directorio del proyecto.
¿Cómo debo cambiar la configuración de WebStorm para que también use nodemon ?
- Hacer una npm instalar nodmemon -g
Solo cambie la ruta de acceso a nodemon.cmd, en mi caso (C: / Users / Rohit Taneja / AppData / Roaming / npm / nodemon.cmd), también obtendrá esta ruta una vez que termine su instalación de nodemon.
Eres bueno para ir
Aquí está la configuración que funciona para mí en Windows 7 + WebStorm 8.0.4. Si pongo nodemon.cmd como el intérprete de nodos, sigo recibiendo "Terminar trabajo por lotes (S / N)?".
Estoy en Windows y para mí no funcionó con nodemon (no tengo idea), pero alguien de jetbrains sugirió probar con el supervisor:
Instalé el supervisor:
npm install supervisor -g
A continuación, encuentre dónde está instalado el
supervisor
, para mí estaba en:C:/Users/AlinC/AppData/Roaming/npm/node_modules/supervisor/lib/cli-wrapper.js –no-restart-on error
Volví a intellij y a editar configuraciones -> parámetros de nodo -> y agregué: error C: / Users / AlinC / AppData / Roaming / npm / node_modules / supervisor / lib / cli-wrapper.js -no-restart-on
Para aquellos interesados en la solución en Windows 10, aquí está mi configuración. No muestra "Terminate Batch" y funciona perfectamente.
Presiona depurar UNA VEZ y puede guardar los archivos de cambio y el servidor se reiniciará en modo de depuración. Todos los puntos de freno funcionan a la perfección
Para instalar nodemon , use lo siguiente (si es necesario, use sudo para ejecutar la instalación con privilegios de administrador:
npm install -g nodemon
Esto instalará nodemon globalmente en su máquina.
Luego, en su configuración de ejecución de WebStorm, agregue lo siguiente, dejando todo lo demás sin cambios:
- Parámetros de nodo:
/usr/local/bin/nodemon --exec /usr/local/bin/node
Esto le indicará al intérprete del nodo que ejecute el script nodemon
utilizando la siguiente línea de comando: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js
.
La parte --exec
es importante, ya que la ejecución fallará con el siguiente error:
/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)
El error parece deberse a que WebStorm no ve el node
ejecutable en su ruta.
La solución para esto es especificar la ubicación del node
ejecutable utilizando el --exec /usr/local/bin/node
.
Con esta configuración, nodemon funciona bien cuando se ejecuta desde una configuración de ejecución de WebStorm.
El mismo truco podría tener que usarse con algunas de las herramientas similares a nodemon , por ejemplo, node-supervisor .
Para usuarios de Windows configurado:
Intérprete de nodo: ruta del nodo.exe ie c: / program files / node / node.exe
Parámetro del nodo: C: / Users / YOURUSER / AppData / Roaming / npm / node_modules / nodemon / bin / nodemon.js
Parece que la solución con --exec
ya no es necesaria, al menos cuando se utiliza la versión más nueva de nodemon y Webstorm 7 u 8.
Todo lo que tiene que hacer es especificar su ruta a nodemon (por ejemplo, /usr/local/bin/nodemon
) en "Parámetros de nodo":
@Bela Clark, gracias por confirmar.
Per @bernhardw comenta, ya que esta fue la respuesta para mí -
Todo lo que se necesita es /usr/local/bin/nodemon
bajo los node parameters
Funciona para ejecutar y depurar a medida que se reinicia con los cambios, pero la depuración con el punto de interrupción no funciona.
Bonificación: agregue -e para más extensión eg /usr/local/bin/nodemon -e js,html,jade
(osx 10.10.5, rubymine 7.1.4)
HTH
También puede hacer que funcione con nvm y aún funciona la depuración.
Probado con Node.js 8.1.0 y Webstorm 2017.2
Primero asegúrese de que está en la versión correcta (en mi caso v8.1.0) e instale nodemon globalmente -
nvm use v8.1.0
npm install -g nodemon
Luego, abra las configuraciones de Ejecutar / Depurar y cree una nueva con el intérprete de nodos correcto.
Los parámetros del nodo deberían ser:
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
Guarde y depure respponsibally :)
algunas de estas respuestas parecen funcionar solo para Mac. Para Windows, esta configuración parece funcionar (mi nombre de usuario en Windows 7 es denman).
main.js es el archivo de punto de partida para mi aplicación Express.
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
Esta es la solución de Windows
Puede usar nodemon.cmd en lugar de nodo directamente como:
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*/
y entonces :
Espero que te ayude.