One place for hosting & domains

      Nodejs

      How To Code in Node.js eBook


      Download the Complete eBook!

      How To Code in Node.js eBook in EPUB format

      How To Code in Node.js eBook in PDF format

      Introduction to the eBook

      Node.js is a popular open-source runtime environment that can execute JavaScript outside of the browser. The Node runtime is commonly used for back-end web development, leveraging its asynchronous capabilities to create networking applications and web servers. Node is also a popular choice for building command line tools.

      In this book, you will go through exercises to learn the basics of how to code in Node.js, gaining skills that apply equally to back-end and full stack development in the process.

      By the end of this book you will be able to write programs that leverage Node’s asynchronous code execution capabilities, complete with event emitters and listeners that will respond to user actions. Along the way you will learn how to debug Node applications using the built-in debugging utilities, as well as the Chrome browser’s DevTools utilities. You will also
      learn how to write automated tests for your programs to ensure that any features that you add or change function as you expect.

      Download the eBook

      You can download the eBook in either the EPUB or PDF format by following the links below.

      Download the Complete eBook!

      How To Code in Node.js eBook in EPUB format

      How To Code in Node.js eBook in PDF format

      After you’re finished this book, if you’d like to learn more about how to build tools and applications with Node.js, visit the DigitalOcean Community’s Node.js section.



      Source link

      Cómo reiniciar sus aplicaciones Node.js automáticamente con nodemon


      Introducción

      En Node.js, debe reiniciar el proceso para que los cambios surtan efecto. Eso añade un otro paso a su flujo de trabajo para que los cambios surtan efecto. Puede eliminar este paso adicional usando nodemon para reiniciar el proceso automáticamente.

      nodemon es una utilidad de interfaz de línea de comandos (CLI) desarrollada por @rem que envuelve su aplicación Node, vigila el sistema de archivos y reinicia automáticamente el proceso.

      En este artículo, aprenderá cómo instalar, preparar y configurar nodemon.

      Requisitos previos

      Si desea seguir este artículo, necesitará:

      Paso 1: Instalar nodemon

      Primero, deberá instalar nodemon en su equipo. Instale la utilidad global o localmente en su proyecto usando nom o Yarn:

      Instalación global

      Puede instalar nodemon globalmente con npm:

      O con Yarn:

      Instalación local

      También puede instalar nodemon localmente con npm. Cuando realice una instalación local, podemos instalar nodemon como dependencia dev con --save-dev (o --dev):

      • npm install nodemon --save-dev

      O con Yarn:

      Algo que debe tenerse en cuenta con una instalación local es que no podrá usar el comando nodemon directamente desde la línea de comandos:

      Output

      • command not found: nodemon

      Sin embargo, puede usarlo como parte de algunas secuencias de comandos de npm o con npx.

      Con esto finalizará el proceso de instalación de nodemon. A continuación, usaremos nodemon con nuestros proyectos.

      Paso 2: Configurar un proyecto Express de ejemplo con nodemon

      Puede usar nodemon para iniciar una secuencia de comandos de Node. Por ejemplo, si tenemos una configuración de servidor Express en un archivo server.js, podemos iniciarlo y vigilar los cambios de esta forma:

      Puede pasar argumentos de la misma forma que si estuviese ejecutando la secuencia de comandos con Node:

      Cada vez que realice un cambio a un archivo con una de las extensiones vigiladas por defecto (.js, .mjs, .json, .coffee o .litcoffee) en el directorio actual o en un subdirectorio, el proceso se reiniciará.

      Vamos a suponer que escribimos un archivo server.js de ejemplo que da como resultado el mensaje Dolphin app listening on port ${port}!.

      Podemos ejecutar el ejemplo con nodemon:

      Vemos el siguiente resultado del terminal:

      Output

      [nodemon] 1.17.3 [nodemon] to restart at any time, enter `rs` [nodemon] watching: *.* [nodemon] starting `node server.js` Dolphin app listening on port 3000!

      Aunque nodemon aún está ejecutándose, vamos a realizar un cambio al archivo server.js para que dé como resultado el mensaje: Shark app listening on port ${port}!.

      Vemos el siguiente resultado adicional del terminal:

      Output

      [nodemon] restarting due to changes... [nodemon] starting `node server.js` Shark app listening on port 3000!

      El resultado del terminal desde nuestra aplicación Node.js se muestra como se espera. Puede reiniciar el proceso en cualquier momento escribiendo rs y presionando ENTER.

      Como alternativa, nodemon también buscará un archivo main especificado en el archivo package.json de su proyecto:

      package.json

      {
        // ...
        "main": "server.js",
        // ...
      }
      

      O una secuencia de comandos start:

      package.json

      {
        // ...
        "scripts": {
          "start": "node server.js"
        },
        // ...
      }
      

      Una vez que realice los cambios a package.json, puede invocar nodemon para iniciar la aplicación de ejemplo en modo de vigilancia sin tener que pasar server.js.

      Paso 3: Usar las opciones

      Puede modificar los ajustes de configuración disponibles para nodemon.

      Vamos a repasar algunas de las opciones principales:

      • --exec: Utilice el interruptor --exec para especificar un binario con el que ejecutar el archivo. Por ejemplo, cuando se combina con el binario ts-node, --exec puede ser útil para vigilar los cambios y ejecutar archivos TypeScript.
      • --ext: Especifique diferentes extensiones de archivo que vigilar. Para este interruptor, proporcione una lista separada por comas de extensiones de archivo (por ejemplo, --ext.js,ts).
      • --delay: Por defecto, nodemon espera un segundo para reiniciar el proceso cuando un archivo cambia, pero puede especificar un retraso diferente con el interruptor --delay. Por ejemplo, nodemon --delay 3.2 para un retraso de 3,2 segundos.
      • --watch: Utilice el interruptor --watch para especificar múltiples directorios o archivos que vigilar. Añada un interruptor --watch para cada directorio que desee vigilar. Por defecto, el directorio actual y sus subdirectorios se vigilan, de forma que con --watch puede estrechar eso a solo subdirectorios o archivos específicos.
      • --ignore: Utilice el interruptor --ignore para ignorar ciertos archivos, patrones de archivo o directorios.
      • --verbose: Un resultado con más texto con información sobre qué archivos cambiaron para activar un reinicio.

      Puede ver todos las opciones disponibles con el siguiente comando:

      Usando estas opciones, vamos a crear el comando para satisfacer el siguiente escenario:

      • vigilar el directorio del servidor
      • “especificando
      • ignorar archivos con un sufijo .test.ts
      • ejecutar el archivo (server/server.ts) con ts-node
      • esperar tres segundos para reiniciar tras un cambio de archivo
      • nodemon --watch server --ext ts --exec ts-node --ignore '*.test.ts' --delay 3 server/server.ts

      Este comando combina las opciones --watch, --ext, --exec, --ignore y --delay para satisfacer las condiciones de nuestro escenario.

      Paso 4: Usar las configuraciones

      En el ejemplo anterior, añadir interruptores de configuración cuando se ejecuta nodemon puede ser algo tedioso. Una mejor solución para los proyectos que necesitan configuraciones específicas es especificar estas configuraciones en un archivo nodemon.json.

      Por ejemplo, aquí están las mismas configuraciones que en el ejemplo de línea de comandos anterior, pero colocados en un archivo nodemon.json:

      nodemon.json

      {
        "watch": ["server"],
        "ext": "ts",
        "ignore": ["*.test.ts"],
        "delay": "3",
        "execMap": {
          "ts": "ts-node"
        }
      }
      

      Observe el uso de execMap en vez del interruptor --exec. execMap le permite especificar binarios que deberían usarse dadas algunas extensiones de archivo.

      Alternativamente, si prefiere no añadir un archivo de configuración nodemon.json a su proyecto, puede añadir estas configuraciones al archivo package.json bajo la clave nodemonConfig:

      package.json

      {
        "name": "test-nodemon",
        "version": "1.0.0",
        "description": "",
        "nodemonConfig": {
          "watch": [
            "server"
          ],
          "ext": "ts",
          "ignore": [
            "*.test.ts"
          ],
          "delay": "3",
          "execMap": {
            "ts": "ts-node"
          }
        },
        // ...
      

      Una vez que realice los cambios a nodemon.json o package.json, puede iniciar nodemon con la secuencia de comandos deseada:

      nodemon recogerá las configuraciones y las utilizará. De esta forma puede guardar, compartir y repetir sus configuraciones para evitar copiar y pegar o escribir errores en la línea de comandos.

      Conclusión

      En este artículo, ha explorado cómo usar nodemon con sus aplicaciones Node.js. Esta herramienta ayuda a automatizar el proceso de detener e iniciar un servidor Node para ver los cambios.

      Para obtener más información sobre las funciones disponibles y resolver problemas, consulte la documentación oficial.

      Si desea saber más sobre Node.js, consulte nuestra página del tema Node.js para consultar ejercicios y proyectos de programación.





      Source link

      Comment redémarrer vos applications Node.js automatiquement avec nodemon


      Introduction

      Sous Node.js, vous devez redémarrer le processus pour que les changements prennent effet, une étape supplémentaire qui s’ajoute à votre flux de travail pour que les modifications soient implémentées. En utilisant nodemon, vous pouvez éliminer cette étape supplémentaire car il se chargera de redémarrer le processus automatiquement.

      nodemon est un utilitaire d’interface de ligne de commande (CLI) développé par @rem. Il enveloppe votre application Node, surveille le système de fichiers et redémarre automatiquement le processus.

      Cet article vous permettra d’en apprendre davantage sur l’installation, le réglage et la configuration de nodemon.

      Conditions préalables

      Pour suivre les étapes de cet article, vous aurez besoin de ce qui suit :

      Étape 1 — Installation de nodemon

      En premier lieu, vous devez installer nodemon sur votre machine. Installez l’utilitaire soit globalement ou localement sur votre projet en utilisant npm ou Yarn  :

      Installation globale

      Vous pouvez installer nodemon de manière globale avec npm :

      Ou avec Yarn :

      Installation locale

      Vous pouvez également utiliser npm pour installer nodemon localement. Pour procéder à une installation locale, nous pouvons installer nodemon sous la forme d'une dev dependency avec --save-dev (ou --dev) :

      • npm install nodemon --save-dev

      Ou avec Yarn :

      Il y a cependant une chose à retenir concernant une installation locale. Il vous sera impossible d'utiliser la commande nodemon directement à partir de la ligne de commande suivante :

      Output

      • command not found: nodemon

      Vous pouvez cependant l'utiliser dans le cadre de certains scripts npm ou avec npx.

      Vous venez de terminer le processus d'installation de nodemon. Maintenant, nous allons utiliser nodemon avec nos projets.

      Étape 2 — Configuration d'un exemple du projet Express avec nodemon

      Nous pouvons utiliser nodemon pour lancer un script Node. Si, par exemple, la configuration du serveur Express se trouve dans un fichier server.js, nous pouvons la lancer et surveiller les modifications de la manière suivante :

      Vous pouvez transmettre les arguments de la même manière que pour exécuter le script avec Node :

      Chaque fois que vous modifiez un fichier avec l'une des extensions surveillées par défaut (.js, .mjs, .json, .coffee ou .litcoffee) dans le répertoire ou le sous-répertoire actuel, le processus redémarrera.

      Supposons que nous écrivions un exemple de fichier server.js qui déclenche le message suivant : Écoute de l'application Dolphin sur le port ${port} !.

      Nous pouvons exécuter l'exemple avec nodemon :

      Nous obtiendrons le résultat suivant sur le terminal:

      Output

      [nodemon] 1.17.3 [nodemon] to restart at any time, enter `rs` [nodemon] watching: *.* [nodemon] starting `node server.js` Dolphin app listening on port 3000!

      Alors que l'exécution de nodemon est toujours cours, modifions le fichier server.js de manière à qu'il fasse apparaître le message suivant :Écoute de l'application Shark sur le port ${port} !

      Nous obtiendrons le résultat supplémentaire suivant sur le terminal :

      Output

      [nodemon] restarting due to changes... [nodemon] starting `node server.js` Shark app listening on port 3000!

      Le résultat qui apparaît sur le terminal de notre application Node.js s'affiche comme prévu. À tout moment, vous pouvez redémarrer le processus en saisissant rs et en appuyant sur ENTRÉE.

      Sinon, nodemon recherchera également le fichier main spécifié dans le fichier package.json de votre projet.

      package.json

      {
        // ...
        "main": "server.js",
        // ...
      }
      

      Ou, un script start :

      package.json

      {
        // ...
        "scripts": {
          "start": "node server.js"
        },
        // ...
      }
      

      Une fois que vous avez apporté vos modifications à package.json, vous pouvez alors appeler nodemon pour lancer l'application exemple en mode de surveillance sans avoir à passer par server.js.

      Étape 3 — Utilisation des options

      Vous pouvez modifier les paramètres de configuration disponibles sur nodemon.

      Passons en revue quelques-unes des principales options :

      • --exec: utilisez le commutateur --exec pour spécifier le binaire avec lequel exécuter le fichier. Par exemple, combiné au binaire ts-node, --exec peut s'avérer utile pour surveiller les modifications et exécuter les fichiers TypeScript.
      • --ext : spécifiez les différentes extensions de fichier à surveiller. Pour cette commutation, vous devez fournir une liste séparée par une virgule des extensions de fichiers (par exemple, --ext js,ts).
      • --delay : lorsqu'un fichier est modifié, nodemon attend par défaut 1 seconde pour redémarrer le processus. Cependant, vous pouvez utiliser le commutateur --delay pour modifier ce délai. Par exemple, avec nodemon --delay 3.2 votre délai sera de 3,2 secondes.
      • --watch : utilisez le commutateur --watch pour une surveillance sur plusieurs répertoires ou fichiers. Activez un commutateur --watch pour chaque répertoire que vous souhaitez surveiller. Par défaut, le répertoire actuel et ses sous-répertoires sont surveillés. Donc, vous pouvez utiliser --watch pour limiter la surveillance à des sous-répertoires ou des fichiers spécifiques.
      • --ignore : utilisez le commutateur --ignore pour ignorer certains fichiers, modèles de fichiers ou répertoires.
      • --verbose : un résultat plus complet avec des informations sur le ou les fichiers modifiés pour déclencher un redémarrage.

      Vous pouvez consulter toutes les options disponibles avec la commande suivante :

      À l'aide de ces options, créons la commande qui satisfait au scénario suivant :

      • surveiller le répertoire server
      • spécifier les fichiers avec l'extension .ts
      • ignorer les fichiers avec le suffixe .test.ts.
      • exécuter le fichier (server/server.ts) avec ts-node.
      • attendre trois secondes pour procéder au redémarrage après modification d'un fichier
      • nodemon --watch server --ext ts --exec ts-node --ignore '*.test.ts' --delay 3 server/server.ts

      Cette commande combine les options --watch, --ext, --exec , --ignore, et --delay pour satisfaire aux conditions de notre scénario.

      Étape 4 — Utilisation des configurations

      Dans l'exemple précédent, l'ajout des commutateurs de configuration lors de l'exécution de nodemon est un exercice qui peut s'avérer être très fastidieux. Il existe une meilleure solution pour les projets qui nécessitent des configurations spécifiques. Elle consiste à spécifier ces configurations dans un fichier nodemon.json.

      Par exemple, voici les mêmes configurations que celles de notre exemple précédent de ligne de commande, mais placées dans un fichier nodemon.json :

      nodemon.json

      {
        "watch": ["server"],
        "ext": "ts",
        "ignore": ["*.test.ts"],
        "delay": "3",
        "execMap": {
          "ts": "ts-node"
        }
      }
      

      Notez que nous utilisons execMap au lieu du commutateur --exec. execMap vous permet de spécifier les binaires à utiliser pour obtenir certaines extensions de fichier.

      Ou alors, si vous ne souhaitez pas ajouter un fichier de configuration nodemon.json à votre projet, vous pouvez ajouter ces configurations dans un fichier package.json sous une clé nodemonConfig.

      package.json

      {
        "name": "test-nodemon",
        "version": "1.0.0",
        "description": "",
        "nodemonConfig": {
          "watch": [
            "server"
          ],
          "ext": "ts",
          "ignore": [
            "*.test.ts"
          ],
          "delay": "3",
          "execMap": {
            "ts": "ts-node"
          }
        },
        // ...
      

      Une fois que vous avez apporté ces modifications à nodemon.json ou package.json, vous pouvez alors lancer nodemon avec le script que vous souhaitez :

      nodemon récupérera les configurations et les utilisera. De cette façon, vos configurations pourront être enregistrées, partagées et répétées tout en évitant les erreurs de copier-coller ou de frappe dans la ligne de commande.

      Conclusion

      Cet article vous a permis d'apprendre à utiliser nodemon avec vos applications Node.js. Cet outil aide à automatiser le processus d'arrêt et de démarrage d'un serveur Node afin de pouvoir consulter les changements.

      Pour de plus amples informations sur les fonctionnalités et les erreurs de dépannage, consultez la documentation officielle.

      Si vous souhaitez en savoir plus sur Node.js, veuillez consulter notre page thématique Node.js dans laquelle vous trouverez des exercices et des projets de programmation.





      Source link