2014-09-11 15 views
27

Attualmente sto usando il nodo insieme a nodemon. Poi ho pensato che a volte sarebbe stato carino usare un ispettore con nodo, quindi ho iniziato a usare node-inspectorEseguendo l'ispettore del nodo insieme a nodemon?

Tuttavia, è possibile eseguire entrambi contemporaneamente?

Normalmente per eseguire nodemon userei:

nodemon server.js 
//and similarly 
node-debug server.js 

Ho anche provato:

nodemon --debug http.js 

Ma purtroppo questo non ha funzionato neanche.

Ma entrambi insieme !?

+0

"node-inspector & nodemon --debug filename.js" dovrebbe funzionare semplicemente alla grande. Basta una sola riga di comando – anandharshan

risposta

16

Avviare il server con nodemon --debug server.js e quindi sarà necessario eseguire node-inspector in una finestra di terminale separata a meno che non si spinga nodemon sullo sfondo.

+0

Umm bella idea, non riesco a farlo funzionare. Forse mi aspetto di più dall'ispettore? Comunque faccio il seguente 'nodemon --debug src/index.js' quindi apro un altro cmd e faccio' node-debug index.js' Sono su windows btw :) –

+0

Dove esegui node-inspector? – Paul

+0

Mi ci è voluto tempo per tornare qui :) Ma ho dovuto iniziare un altro progetto e poi spostato casa. Ma sono tornato piccola! Una cosa però @paul. Forse non ho capito a cosa serve realmente l'ispettore dei nodi. Speravo che se avessi 'console.log' qualcosa nei miei file di nodo, sarebbero usciti in' NI'. Immagino che questo non sia il caso? –

28

Se si desidera eseguirli come un unico comando, questo funziona per me: node-inspector & nodemon --debug app.js (sostituendo app.js con il nome del proprio script). Se le cose si accumulano, dovrai occasionalmente uccidere il ispettore del nodo manualmente, ma eseguendo il comando in questo modo ti dà la possibilità di eseguire rs per riavviare il nodemon manualmente, se necessario. HTH

+1

Questo dovrebbe essere contrassegnato come la risposta giusta in realtà. Perché funziona!Non c'è bisogno che due finestre –

+0

non funzionino per me con node-inspector v0.10.2 e nodemon v1.3.7 in Win7. caricherà semplicemente ispettore nodo - qualche idea? –

+0

Questo è il modo migliore per fare ciò assicura che node-inspector ottenga gli aggiornamenti del codice quando nodemon si aggiorna da solo. Altri metodi "funzionano" ma non sono altrettanto efficienti. Spero che questo venga contrassegnato come la risposta accettata. – grant

0

Non ho potuto ottenere nodemon per giocare con node-inspector. Dopo una modifica si riavvierebbe, ma dopo non più. Forse è perché sto usando i contenitori docker.

Il modo più semplice per ricaricare l'applicazione è di consentire a node-inspector di farlo (so che questa non è una risposta all'esecuzione di entrambi, ma ha funzionato per me).

avviare l'applicazione nel modo seguente:

node-inspector --save-live-edit & \ 
node --debug /app/server.js 
0

Come sto in esecuzione su Linux ho wrote a bash script base da rpaskett's answer in modo che non c'è bisogno di ricordare che il comando scomodo ogni volta.

Tuttavia, ho notato in un commento che stai utilizzando Windows. Ecco alcune opzioni disponibili:

È possibile convertire lo script di bash in batch di Windows e salvarlo come C:\Windows\System32\node-DEV.bat. L'ho fatto e funziona sul mio PC di Windows:

@echo off 
echo Starting DEV environment for %1 
start node-inspector 
nodemon --debug %1 

allora si dovrebbe essere in grado di eseguire node-DEV server.js.

Un'altra opzione; è possibile eseguire qualcosa come nodedev che è stato scritto in Node.js quindi indipendente dalla piattaforma, anche se sembra che non sia stato aggiornato da un po '.

Oppure potresti persino eseguire lo script di bash all'interno di un ambiente Cygwin se ne avevi a portata di mano.

0

Una correzione hacky per gli utenti Windows che eseguono una shell bash:

In primo luogo, add node-inspector to your Path. (puoi trovare dove NPM è l'installazione di pacchetti con npm list -g)

Quindi utilizzare questo comando in bash, o aggiungerlo a i vostri script NPM:

START /B node-inspector && nodemon --debug server.js 

START /B essendo le finestre comando per l'esecuzione in background.

0

Devi essere installato nodo-ispettore e nodemon utilizzando:

npm install -g nodemon 
npm install -g node-inspector 

da eseguire in Windows, creare un nuovo file .bat e aggiungere le linee folowing:

@echo off 
echo Starting developer enviroment of the file %1 
start nodemon --debug-brk %1 
node-debug %1 

ed eseguire:

node_desarrollo.bat "nome del file per run.js"

Se Ran con un errore:

Error: listen EADDRINUSE :::5858 
    at Object.exports._errnoException (util.js:855:11) 
    at exports._exceptionWithHostPort (util.js:878:20) 
    at Agent.Server._listen2 (net.js:1237:14) 
    at listen (net.js:1273:10) 
    at Agent.Server.listen (net.js:1369:5) 
    at Object.start (_debug_agent.js:21:9) 
    at startup (node.js:72:9) 
    at node.js:980:3 

sua normale, perché il nodo-ispettore ha bisogno di aprire quella porta per collegare ma perché il nodemon --debug-brk %1 è stata aperta la porta 5858 la sua non è possibile aprire e mostrare l'errore EADDRINUSE :::5858, si noti che la bandiera --debug-brk di nodemon è necessario fare un punto di interruzione sulla prima riga. Prova a modificare il file.js dopo aver eseguito .bat e guarda le modifiche riflesse sul debugger. Questo debugger si riavvia e mostra le modifiche fatte nel file.js. Felice codifica JS !!!

1

Per coloro che vogliono una soluzione indipendente dal sistema operativo e senza hack per le finestre, ecc

È possibile utilizzare NPM-run-tutto che è uno strumento CLI che permette l'esecuzione di più script NPM in parallelo o in sequenza. Quindi, quando si imposta il tuo package.json come così:

"scripts": { 
    "start": "npm-run-all --parallel lint start:debug start:server", 
    "lint": "eslint . --ext .js", 
    "start:debug": "node-debug server.js", 
    "start:server": "nodemon server.js" 
} 

E poi da CLI, si fa: NPM iniziare

Caveat: dalla mia esperienza in esecuzione nodemon e nodo-debug insieme porta a node- strano comportamenti dell'ispettore a volte. Così da allora ho deciso di rimuovere nodemon dai miei script quando eseguivo il debug e mi affidavo alla funzione save-live-edit di node-inspectors per modificare i file al volo.

Problemi correlati