So führen Sie das Startskript mit Nodemon aus


88

Wie kann ich das Startskript aus einer package.json- Datei mit Nodemon ausführen?


Sind Sie sicher, dass Sie ein Startskript von package.json ausführen können? Denn soweit ich weiß, soll package.json alle Ihre Abhängigkeiten auflisten und nodemon Ihren Prozess am Laufen halten. Ich bin mir nicht ganz sicher, was Sie hier andeuten?
Saras Arya

Antworten:


139

Dies ist ein einfacher Befehl dafür

nodemon --exec npm start

Was ist, wenn ich nur Tests ausführen muss, ohne die App auszuführen? Ihre Lösung führt beide aus.
Sergey

1
Dies wird ausgeführt, npm startaber der Knotenserver wird für mich nicht gestartet. Wie würde er wissen, wo sich server.js befindet?
Sonic Soul

38

Im Paket json:

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

  }
}

Dann können Sie vom Terminal aus verwenden npm start

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


1
Entschuldigung, suchen Sie nach einer Möglichkeit, das Startskript mit nodemon auszuführen, und führen Sie nodemon nicht im Startskript aus. Entschuldigung, wenn das nicht klar war.
Citronen

6
Wird npm startdie Produktion nicht aus Mangel an Nodemon scheitern?
Ripper234

2
npm run startnichtnpm start
M. Dhaouadi

1
Ich bin ein Anfänger mit npm. Ich verstehe nicht, warum wir das Startskript angeben müssen, während wir nodemon sofort verwenden können. Ich installiere nodemon einfach mit npm und benutze es direkt ohne Angabe eines Skripts und es funktioniert perfekt.
Hokhy Tann

@ M.Dhaouadi npm startist ein Alias ​​fürnpm run start
George

16

Ich habe eine TypeScript-Datei mit dem Namen "server.ts". Die folgenden npm-Skripte konfigurieren Nodemon und npm, um meine App zu starten und auf Änderungen an TypeScript-Dateien zu überwachen:

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

Ich habe bereits Nodemon für Abhängigkeiten. Wenn ich es ausführe npm start, fordert es Nodemon auf, seine Dateien mithilfe des -eSchalters zu überwachen , und ruft dann das myappnpm-Skript auf, bei dem es sich um eine einfache Kombination aus dem Transpilieren der Typoskriptdateien und dem Starten der resultierenden server.js handelt. Wenn ich die TypeScript-Datei ändere, -egeschieht aufgrund des Wechsels der gleiche Zyklus und neue .js-Dateien werden generiert und ausgeführt.


14

Ich verwende Nodemon Version 1.88.3 in meinem Node.js-Projekt. Informationen zur Installation von Nodemon finden Sie unter https://www.npmjs.com/package/nodemon .

Überprüfen Sie Ihre package.json, um festzustellen, ob sich "scripts" folgendermaßen geändert hat:

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

server.jsIst mein Dateiname, können Sie einen anderen Namen für diese Datei wie verwenden app.js.

Führen Sie danach Folgendes auf Ihrem Terminal aus: npm run dev



5

Ändern Sie zuerst Ihre package.json- Datei.

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

Führen Sie danach den Befehl aus

npm run start-dev

1
Aber wenn Sie davonlaufen, app.jsumgehen Sie alles, was ./bin/wwwtut ...
Jake Wilson

1
Dies öffnet jedes Mal einen neuen Tab
Qui-Gon Jinn

5

In der Datei package.json. Datei wie folgt ändern

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

und dann npm run start-dev ausführen




1

Sie können nodemon auch global für die häufige Verwendung installieren:

npm i nodemon -g oder sudo npm i nodemon -g

Bearbeiten Sie dann Ihre package.json:

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

Im Allgemeinen gibt 'dev' die Verwendung in der Entwicklung an ( npm run dev ).


1

Dies hängt von den Arten Ihrer Nodemon-Installation ab. Wenn Sie Nodemon mithilfe von Befehlen ( npm install nodemon --globaloder npm install nodemon -g) global installieren , müssen Sie in Ihrer Datei package.json kein Skript für Nodemon angeben . Wenn Sie nur den Befehl ausführen, nodemon index.jswird Ihr Projekt ausgeführt.

Wenn Sie Nodemon jedoch lokal per Befehl installieren, müssen npm install nodemonSie das Skript angeben. Wenn Sie es nennen , wie beginnen dann npm run startoder npm startden Server auslösen zu laufen.

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

1

Wenn Sie nodemonglobal installiert haben , nodemonwird das startSkript automatisch ausgeführt, wenn Sie es einfach in Ihrem Projekt ausführen package.json.

Zum Beispiel:

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

Aus der Nodemon-Dokumentation :

nodemon sucht auch in package.json nach der Eigenschaft scripts.start (ab nodemon 1.1.x).


0

Im Paket json:

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

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

Und im Terminal für die Entwicklung:

npm run dev

Und um den Server regelmäßig zu starten:

npm start

Was ist "Regiuler" ? Meinst du "normal" ?
Peter Mortensen

-1

Um eine globale Installation zu vermeiden, fügen Sie Nodemon als Abhängigkeit hinzu und ...

package.json

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

Sie können es trotzdem zu "start-dev" machen: "nodemon ./bin/www", wenn Sie es unter devDependencies
WoLfPwNeR
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.