Come posso eseguire lo script di avvio da un file package.json con Nodemon?
Come posso eseguire lo script di avvio da un file package.json con Nodemon?
Risposte:
Questo sarà un semplice comando per questo
nodemon --exec npm start
npm start
ma non avvia il server del nodo per me .. come fa a sapere dove si trova server.js?
Nel pacchetto json:
{
"name": "abc",
"version": "0.0.1",
"description": "my server",
"scripts": {
"start": "nodemon my_file.js"
},
"devDependencies": {
"nodemon": "~1.3.8",
},
"dependencies": {
}
}
Quindi dal terminale puoi usare npm start
Installazione di Nodemon: https://www.npmjs.com/package/nodemon
npm start
fallirà nella produzione per mancanza di nodemon?
npm run start
nonnpm start
npm start
è un alias dinpm run start
Ho un file TypeScript chiamato "server.ts", i seguenti script npm configurano Nodemon e npm per avviare la mia app e monitorare eventuali modifiche sui file TypeScript:
"start": "nodemon -e ts --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",
Ho già Nodemon sulle dipendenze. Quando npm start
eseguo, chiederà a Nodemon di monitorare i suoi file usando l' -e
interruttore e quindi chiama lo myapp
script npm che è una semplice combinazione di transpiling dei file dattiloscritti e quindi avvia il server.js risultante. Quando cambio il file TypeScript, a causa -e
dell'interruttore si verifica lo stesso ciclo e nuovi file .js verranno generati ed eseguiti.
Uso Nodemon versione 1.88.3 nel mio progetto Node.js. Per installare Nodemon, vedere in https://www.npmjs.com/package/nodemon .
Controlla il tuo package.json, controlla se "scripts" è cambiato in questo modo:
"scripts": {
"dev": "nodemon server.js"
},
server.js
è il nome del mio file, puoi usare un altro nome per questo file come app.js
.
Dopodiché, esegui questo sul tuo terminale: npm run dev
Usa -exec
:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'
se vuoi farlo dalla riga di comando.
Per prima cosa cambia il tuo file package.json ,
"scripts":
{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
Dopodiché, esegui il comando
npm run start-dev
app.js
stai aggirando tutto ciò che ./bin/www
fa ...
Nel file package.json. cambia file in questo modo
"scripts":{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
e quindi eseguire npm run start-dev
Nodemon emette eventi a ogni cambiamento di stato; avvio, riavvio arresto anomalo, ecc. È possibile aggiungere un file di configurazione di Nodemon (nodemon.json) in questo modo:
{
"events": {
"start": "npm run *your_file*"
}
}
Ulteriori informazioni in Eventi Nodemon: eseguire attività all'avvio del server, riavvio, arresto anomalo, uscita .
Se installato a livello globale, allora
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Assicurati di aver installato nodemon
globalmente:
npm install -g nodemon
Infine, se sei un utente Windows, assicurati che la restrizione di sicurezza di Windows PowerShell sia abilitata .
Nella confezione json
:
"scripts": {
"start": "node index",
"dev": "nodemon index"
},
"devDependencies": {
"nodemon": "^2.0.2"
}
E nel terminale per lo sviluppo:
npm run dev
E per avviare regolarmente il server:
npm start
Dipenderà dai tipi di installazione di Nodemon. Se installi Nodemon a livello globale utilizzando i comandi ( npm install nodemon --global
o npm install nodemon -g
), non devi specificare alcuno script per Nodemon nel tuo file package.json . La semplice esecuzione del comando nodemon index.js
eseguirà il progetto.
Ma se installi Nodemon localmente tramite comando, npm install nodemon
devi specificare lo script. Se è il nome come iniziare quindi npm run start
o npm start
attiverà il server per l'esecuzione.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Se hai nodemon
installato globalmente, semplicemente in esecuzione nodemon
nel tuo progetto verrà eseguito automaticamente lo start
script da package.json
.
Per esempio:
"scripts": {
"start": "node src/server.js"
},
Dalla documentazione di nodemon :
nodemon cercherà anche la proprietà scripts.start in package.json (a partire da nodemon 1.1.x).
Per evitare un'installazione globale, aggiungi Nodemon come dipendenza, quindi ...
package.json
"scripts": {
"start": "node ./bin/www",
"start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
},