Wie kann ich das Startskript aus einer package.json- Datei mit Nodemon ausführen?
Wie kann ich das Startskript aus einer package.json- Datei mit Nodemon ausführen?
Antworten:
Dies ist ein einfacher Befehl dafür
nodemon --exec npm start
npm start
aber der Knotenserver wird für mich nicht gestartet. Wie würde er wissen, wo sich server.js befindet?
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
npm start
die Produktion nicht aus Mangel an Nodemon scheitern?
npm run start
nichtnpm start
npm start
ist ein Alias fürnpm run start
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 -e
Schalters zu überwachen , und ruft dann das myapp
npm-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, -e
geschieht aufgrund des Wechsels der gleiche Zyklus und neue .js-Dateien werden generiert und ausgeführt.
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.js
Ist 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
Verwendung -exec
:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'
wenn Sie es über die Kommandozeile tun möchten.
Ä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
app.js
umgehen Sie alles, was ./bin/www
tut ...
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
Nodemon gibt Ereignisse bei jeder Zustandsänderung aus. Starten, Absturz neu starten usw. Sie können eine Nodemon-Konfigurationsdatei (nodemon.json) wie folgt hinzufügen:
{
"events": {
"start": "npm run *your_file*"
}
}
Weitere Informationen finden Sie unter Nodemon-Ereignisse - Führen Sie Aufgaben beim Starten, Neustarten, Absturz und Beenden des Servers aus .
Wenn global installiert dann
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Stellen Sie sicher, dass Sie nodemon
global installiert haben :
npm install -g nodemon
Wenn Sie ein Windows-Benutzer sind, stellen Sie schließlich sicher, dass die Sicherheitsbeschränkung von Windows PowerShell aktiviert ist .
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 ).
Dies hängt von den Arten Ihrer Nodemon-Installation ab. Wenn Sie Nodemon mithilfe von Befehlen ( npm install nodemon --global
oder 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.js
wird Ihr Projekt ausgeführt.
Wenn Sie Nodemon jedoch lokal per Befehl installieren, müssen npm install nodemon
Sie das Skript angeben. Wenn Sie es nennen , wie beginnen dann npm run start
oder npm start
den Server auslösen zu laufen.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Wenn Sie nodemon
global installiert haben , nodemon
wird das start
Skript 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).
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
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"
},