2015-05-04 15 views
14

Sto sviluppando un modulo in Node.js che ho collegato a npm in un'altra cartella node_modules di progetti. Vorrei riavviare questo altro server di progetto in caso di modifiche al file nel mio modulo. Nodemon ignora node_modules per impostazione predefinita, ma ho assunto che potrei ignorarlo utilizzando nodemon --watch node_modules/my_module - ma non riesco a farlo funzionare. Se tolgo temporaneamente node_modules da Nodemons lib/config/defaults.js, questo funziona, il che probabilmente conferma che il problema ha a che fare con l'override del comportamento predefinito.Come si monitorano i moduli symlinked con Nodemon?

+0

Correre dentro a me stesso. Ho pensato di usare forever.js, ma sembra che quella libreria non supporti effettivamente l'invio di output di log a stdout (che a mio parere è un dealbreaker). –

+0

... aaaand ho trovato la soluzione. Suppongo che avrei dovuto provarlo prima. –

risposta

2

Utilizzando nodemon 1.2.1, sono in grado di eseguire le seguenti operazioni per ottenere orologi di lavoro con un collegamento NPM:

$ nodemon --watch . --watch $(realpath node_modules/my_module) 

In pratica ... si deve guardare la directory si è in (il vostro directory del progetto), quindi specificare un orologio per il collegamento simbolico stesso. nodemon per impostazione predefinita ignora node_modules, in modo esplicito specificando che l'orologio lo corregge. Puoi provare ad aggiornare la tua versione di nodemon se questo non funziona per te.

+0

Questo non sembra funzionare più, vedere [questo problema] (https://github.com/remy/nodemon/issues/794); – Tamlyn

+0

@Tamlyn Hey - sentiti libero di modificare la mia risposta per includere una nuova correzione, se esistente. Se è una buona risposta, posso rendere questo wiki della comunità e lasciarlo aperto per le modifiche. –

+0

Questo ha funzionato per me subito dopo aver eseguito 'brew install coreutils' (macOS). Altrimenti il ​​comando 'realpath' non è stato trovato. È una buona idea lanciare 'realpath node_modules/my_module' separatamente per assicurarsi che restituisca qualcosa di significativo e solo dopo chiamiamo' nodemon ... '. –