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 startaber 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 startdie Produktion nicht aus Mangel an Nodemon scheitern?
npm run startnichtnpm start
npm startist 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 -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.
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
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.jsumgehen Sie alles, was ./bin/wwwtut ...
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 nodemonglobal 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 --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"
}
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).
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"
},