Maison >interface Web >js tutoriel >Utilisation de nodemon et montrez dans Node.js pour les redémarrages en direct
Dites au revoir à la Cumbersomeness des redémarrages répétés dans le développement de Node.js! Cet article présente deux méthodes pour vous aider à améliorer l'efficacité du développement.
Points de base
--watch
de Node.js. Cette fonction intégrée redémarre l'application chaque fois qu'un fichier importé modifie, fournissant une alternative plus directe que Nodemon sans avoir besoin de modules tiers supplémentaires. Cependant, il n'a pas les options de contrôle avancées disponibles dans Nodemon. Si vous avez une expérience de développement PHP, vous savez que vous pouvez toujours mettre à jour le code et actualiser le navigateur pour tester les modifications. Un serveur Web comme Apache ou Nginx recevra votre demande de fichier PHP et transmettra le contenu à l'interprète PHP pour exécuter le code. Le serveur renvoie la sortie générée (généralement HTML ou JSON) dans le navigateur d'appel. En d'autres termes, le code s'exécute dynamiquement à chaque fois qu'il est demandé.
Node.js adopte une approche différente des applications Web: Votre application JavaScript est un serveur Web . L'exécution node index.js
Initialisera l'application, chargera tous les modules et démarrera un serveur qui peut répondre aux demandes entrantes. La modification du fichier n'affecte pas la sortie de l'application car elle s'exécute déjà en mémoire. Pour tester une mise à jour, vous devez le fermer avec ctrl | cmd c c node index.js
> et exécuter
Node.js Les processus d'arrêt et de redémarrage peuvent devenir très frustrants pendant le débogage ou pendant ces rares heures focalisées, en particulier lors de la réalisation de nombreux changements. Heureusement, il existe deux solutions:
--watch
Node.js NODEMON est un module Node.js tiers développé par JavaScript Expert Remy Sharp. (Il a dit que vous pouvez le prononcer à volonté!)
Vous pouvez installer Nodemon en tant que module global:
<code class="language-bash">npm install -g nodemon</code>
puis remplacez le nœud par nodemon dans la commande de démarrage de développement. Par exemple, considérez la commande suivante:
<code class="language-bash">node --inspect index.js arg1 arg2</code>
La commande ci-dessus ressemblera maintenant à ceci:
<code class="language-bash">nodemon --inspect index.js arg1 arg2</code>
Votre application démarrera comme d'habitude, mais elle redémarrera automatiquement lorsque vous modifierez et enregistrerez le fichier source. Pas besoin d'appuyer sur ctrl | cmd c rs
et exécuter à nouveau, bien que vous puissiez taper et appuyez sur Entrez
REMARQUE: NODEMON est une solution côté serveur qui ne rafraîchit aucun onglet de navigateur que vous pointez vers l'application. Vous pouvez utiliser des outils tels que BrowSersync ou Esbuild pour réaliser le rechargement en temps réel.
pour obtenir l'aide de nodemon, entrez:
<code class="language-bash">npm install -g nodemon</code>
NODEMON a son propre ensemble de paramètres de ligne de commande qui ont priorité sur les configurations ailleurs. Vous pouvez également définir des configurations à:
package.json
dans le fichier "nodemonConfig"
du projet nodemon.json
dans le répertoire du projet, et / ou nodemon --config <file></file>
Fichier de configuration utilisé lors de l'exécution nodemon.json
de la ligne de commande Les paramètres / paramètres suivants sont couramment utilisés.
NODEMON surveille les fichiers JavaScript dans le répertoire de travail actuel, mais vous pouvez explicitement définir un chemin spécifique à l'aide de wildcards sur la ligne de commande:
<code class="language-bash">node --inspect index.js arg1 arg2</code>
ou vous pouvez le faire dans le fichier de configuration nodemon.json
:
<code class="language-bash">nodemon --inspect index.js arg1 arg2</code>
De même, vous pouvez choisir d'ignorer le chemin:
<code class="language-bash">nodemon --help</code>
ou vous pouvez le faire dans le fichier de configuration nodemon.json
:
<code class="language-bash">nodemon --watch lib1 config/*.json ./index.js</code>
Vous pouvez surveiller des fichiers spécifiques par leurs extensions de fichiers. Par exemple, vous pouvez surveiller les fichiers de modèle JS, CJ, MJS, JSON et NJK comme ceci:
<code class="language-json">{ "watch": [ "lib1", "config/*.json" ] }</code>
ou vous pouvez le faire dans le fichier de configuration nodemon.json
:
<code class="language-bash">nodemon --ignore lib2 config/build.json ./index.js</code>
Dans certains environnements, tels que les conteneurs Docker qui lisent les fichiers à partir de lecteurs montés, la surveillance des fichiers peut échouer. Passez au mode de surveillance hérité Utilisez le sondage pour vérifier si le fichier a été modifié. De la ligne de commande:
<code class="language-json">{ "ignore": [ "lib2", "config/build.json" ] }</code>
ou dans le fichier de configuration nodemon.json
:
<code class="language-bash">nodemon --ext "js,cjs,mjs,json,njk" ./index.js</code>
Nodemon attend une seconde avant de déclencher un redémarrage. Ceci est utile lorsque vous enregistrez généralement de nombreux fichiers à la fois. Vous pouvez modifier le retard de la ligne de commande - par exemple, à cinq secondes:
<code class="language-json">{ "ext": "js,cjs,mjs,json,njk" }</code>
ou dans le fichier de configuration nodemon.json
(notez que cette configuration utilise des millisecondes au lieu de secondes):
<code class="language-bash">nodemon --legacy-watch ./index.js</code>
Afficher le journal de sortie détaillé:
<code class="language-json">{ "legacyWatch": true }</code>
ou dans le fichier de configuration nodemon.json
:
<code class="language-bash">nodemon --delay 5 ./index.js</code>
Fichier de configuration pour définir une variable d'environnement spécifique: nodemon.json
<code class="language-json">{ "delay": 5000 }</code>Autres exécutables
<code class="language-bash">nodemon --verbose ./index.js</code>Vous pouvez également définir une liste des exécutables à l'aide de son extension dans le fichier de configuration
: nodemon.json
<code class="language-json">{ "verbose": true }</code>nodemon avancé
Si vous avez des exigences de démarrage d'applications complexes, Nodemon est toujours l'outil préféré. Cependant, si vous utilisez Node.js 18.11 (publié à la fin 2022) ou ultérieure, il offre une option expérimentale --watch
pour redémarrer votre application sans installer NODEMON ou tout autre module tiers. Par exemple, pour la commande de démarrage:
<code class="language-bash">npm install -g nodemon</code>
cela deviendra:
<code class="language-bash">node --inspect index.js arg1 arg2</code>
node.js redémarrera lorsqu'un fichier importé modifie. Il n'y a pas d'autres options de contrôle, donc s'il ne correspond pas à votre projet, envisagez d'utiliser Nodemon à la place.
À mesure que votre expérience se développe, vous trouverez de plus en plus utile de redémarrer automatiquement les applications Node.js. Veuillez considérer cela comme faisant partie du flux de travail de développement dans tous les projets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!