# Configuración de Nodemon en un servidor Node.js

#### Estar constantemente reiniciando manualmente una aplicación de Node.js es un trabajo muy tedioso y también agotador, pero para evitar tener que realizar este trabajo una y otra vez, existe Nodemon que se encarga de reiniciar automáticamente el servidor de aplicaciones Node.js en modo desarrollo.

En los siguientes pasos le enseñare como instalar y configurar Nodemon en su proyecto y como poner a correr un servidor Node.js.

### Paso 1

Organizar el directorio de origen `src` y iniciar el servidor en un archivo `server.js,` el archivo puede llevar cualquier convención que se utilice para arrancar un servidor Node.js (`index.js` o `app.js` )

Actualizar el `package.json` agregando un script `start`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469048586/U-XxVCiKB.png)

### Paso 2

Agregar `express` el cual nos va a permitir arrancar un mínimo servidor para realizar esta prueba

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469050207/mw7hjSGyP.png)

server.js

Inicie una terminal nueva en la cual iniciaremos el servidor corriendo el script `npm start` luego de ejecutarlo nos retornara un mensaje como el siguiente `node src/index.js`

Abrir una nueva terminal y ejecutaremos el siguiente código `curl -X GET [http://localhost:3000/](http://localhost:3000/)` el cual nos permitirá comprobar que la API este funcionando de manera correcta.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469051632/U65Hxj7uS.png)

Si nos retorna el mensaje `La API funciona correctamente` quiere decir que vamos bien!

Ahora, si cambiamos el mensaje de respuesta en el archivo `server.js`, debo reiniciar el servidor para obtener el resultado deseado:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469053228/xZcK22pVgq.png)

Utilizar `Ctrl + C` para detener el servidor que se está ejecutando actualmente y volver a iniciarlo usando el mismo comando antes: `npm run start`.

Usando el comando curl nuevamente desde la ventana de terminal obtenemos el resultado deseado:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469054791/0pURbDIiX.png)

### Paso 3

Agrega nodemon como `devDependency`:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469056593/BJIlUH9ob.png)

Revisaremos el `package.json`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469058175/tF6KQbFbZm.png)

### Paso 4

Agregar el comando `dev` en el archivo package.json

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469059607/V74uJ_uCs.png)

Ahora ejecute `npm run dev` y solicite el uso nuevamente del comando curl, y veremos que el mensaje es el mismo que teníamos antes:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469061119/Uj1yBDRsg.png)

Si cambio nuevamente el mensaje en el archivo `server.js` por cualquier otro, ya esta vez no tendré que reiniciar el servidor dado que Nodemon esta observando los cambios usando el directorio `src`, mediante su parámetro `--watch.`

Vera que se actualiza solo sin tener que reiniciar el servidor, para cortarlo presionar `CTRL + C`

#### Fuentes:

### Node

[**Node.js**  
*Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.*nodejs.org](https://nodejs.org/es/ "https://nodejs.org/es/")[](https://nodejs.org/es/)

### Express

[**Express - Infraestructura de aplicaciones web Node.js**  
*Express es una infraestructura de aplicaciones web Node.js mínima y flexible que proporciona un conjunto sólido de…*expressjs.com](https://expressjs.com/es/ "https://expressjs.com/es/")[](https://expressjs.com/es/)

### Nodemon

[**nodemon**  
*Nodemon is a utility that will monitor for any changes in your source and automatically restart your server. Perfect…*nodemon.io](https://nodemon.io/ "https://nodemon.io/")[](https://nodemon.io/)

Gracias por leer 💻

### Si el articulo te gusto o te pareció interesante por favor ayúdame con 👏 🤓 Puedes seguirme en [Twitter](https://twitter.com/suarez__imanol) o encontrarme en [GitHub](https://github.com/FranciscoImanolSuarez) visitando mi sitio web.

[**Francisco Imanol Suarez on about.me**  
*I am a web developer, student, and photographer in Trelew, Argentina. Read my articles.*about.me](https://about.me/franciscoimanol "https://about.me/franciscoimanol")[](https://about.me/franciscoimanol)
