Comment exécuter le script de démarrage avec Nodemon


90

Comment puis-je exécuter le script de démarrage à partir d'un fichier package.json avec Nodemon?


Vous êtes sûr de pouvoir exécuter un script de démarrage à partir de package.json? Parce que d'après ce que je sais, package.json est de lister toutes vos dépendances et nodemon est de maintenir votre processus en cours d'exécution. Je ne sais pas trop à quoi vous faites allusion ici?
Saras Arya

Réponses:


142

Ce sera une simple commande pour cela

nodemon --exec npm start

Que faire si je dois exécuter uniquement des tests sans exécuter l'application? Votre solution exécute les deux.
Sergey

1
cela fonctionne npm startmais ne démarre pas le serveur de nœuds pour moi .. comment saurait-il où se trouve server.js?
Sonic Soul

39

Dans le package json:

{
  "name": "abc",
  "version": "0.0.1",
  "description": "my server",
  "scripts": {
    "start": "nodemon my_file.js"
  },
  "devDependencies": {
    "nodemon": "~1.3.8",
  },
  "dependencies": {

  }
}

Ensuite, à partir du terminal, vous pouvez utiliser npm start

Installation de Nodemon: https://www.npmjs.com/package/nodemon


1
Désolé, vous cherchez un moyen d'exécuter le script de démarrage avec nodemon, pas d'exécuter nodemon dans le script de démarrage. Désolé si ce n'était pas clair.
Citronen

6
npm startN'échouer dans la production faute de nodemon?
ripper234 du

2
npm run startnotnpm start
M. Dhaouadi

1
Je suis un débutant avec npm. Je ne comprends pas pourquoi nous devons spécifier le script de démarrage alors que nous pouvons utiliser nodemon hors de la boîte? Je viens d'installer nodemon avec npm et de l'utiliser directement sans spécifier de script et cela fonctionne parfaitement.
Hokhy Tann

@ M.Dhaouadi npm startest un alias pournpm run start
George

16

J'ai un fichier TypeScript appelé "server.ts". Les scripts npm suivants configurent Nodemon et npm pour démarrer mon application et surveiller les modifications sur les fichiers TypeScript:

"start": "nodemon -e ts  --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",

J'ai déjà Nodemon sur les dépendances. Lorsque je l'exécute npm start, il demande à Nodemon de surveiller ses fichiers à l'aide du -ecommutateur, puis il appelle le myappscript npm qui est une simple combinaison de transpilage des fichiers dactylographiés, puis de démarrage du server.js résultant. Lorsque je change le fichier TypeScript, à cause de la -ecommutation, le même cycle se produit et de nouveaux fichiers .js seront générés et exécutés.


14

J'utilise la version 1.88.3 de Nodemon dans mon projet Node.js. Pour installer Nodemon, voir https://www.npmjs.com/package/nodemon .

Vérifiez votre package.json, voyez si "scripts" a changé comme ceci:

  "scripts": {
    "dev": "nodemon server.js"
  },

server.jsest mon nom de fichier, vous pouvez utiliser un autre nom pour ce fichier comme app.js.

Après cela, exécutez ceci sur votre terminal: npm run dev



5

Commencez par modifier votre fichier package.json ,

"scripts":
    { 
        "start": "node ./bin/www",
        "start-dev": "nodemon ./app.js"
    },

Après cela, exécutez la commande

npm run start-dev

1
Mais quand vous vous enfuyez, app.jsvous contournez tout ce qui ./bin/wwwfait ...
Jake Wilson

1
ce nouvel onglet ouvre à chaque fois
Qui-Gon Jinn

5

Dans le fichier package.json. changer de fichier comme ça

"scripts":{ 
   "start": "node ./bin/www", 
   "start-dev": "nodemon ./app.js"
 },

puis exécutez npm run start-dev




1

Vous pouvez également installer nodemon globalement pour une utilisation fréquente:

npm i nodemon -g ou sudo npm i nodemon -g

puis éditez votre package.json:

  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

Généralement, 'dev' spécifie une utilisation en développement ( npm run dev ).


1

Cela dépendra des types de votre installation Nodemon. Si vous installez Nodemon globalement à l'aide des commandes ( npm install nodemon --globalou npm install nodemon -g), vous n'avez pas à spécifier de script pour Nodemon dans votre fichier package.json . Exécution de la commandenodemon index.js lancera votre projet.

Mais si vous installez Nodemon localement par commande, npm install nodemonvous devez spécifier le script. Si vous nommez comme commencer alors npm run startou npm startva déclencher le serveur à exécuter.

// Absolutely no need for global installation
 "scripts": {
    "start": "nodemon index.js"
  }

1

Si vous avez nodemoninstallé globalement, une simple exécution nodemondans votre projet exécutera automatiquement le startscript à partir depackage.json .

Par exemple:

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

Depuis la documentation nodemon :

nodemon recherchera également la propriété scripts.start dans package.json (à partir de nodemon 1.1.x).


0

Dans le paquet json:

"scripts": {
  "start": "node index",
  "dev": "nodemon index"
},

"devDependencies": {
  "nodemon": "^2.0.2"
}

Et dans le terminal pour le développement:

npm run dev

Et pour démarrer le serveur régulièrement:

npm start

Qu'est-ce que "regiuler" ? Voulez-vous dire «régulier» ?
Peter Mortensen

-1

Pour éviter une installation globale, ajoutez Nodemon en tant que dépendance, puis ...

package.json

"scripts": {
    "start": "node ./bin/www",
    "start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
  },

Vous pouvez toujours le faire "start-dev": "nodemon ./bin/www" si vous l'installez sous devDependencies
WoLfPwNeR
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.