Ho recentemente preso l'amore con Gruntjs e sono stato felice di lanciare in ogni occasione per rendere la mia vita di sviluppo molto più facile. Attualmente sto compilando i miei file SASS, eseguendo orologi e usando nodemon per mantenere il mio nodo server in aggiornamento mentre lavoro sull'app.Gruntjs - Esecuzione di più attività di blocco in un ordine specifico (Mongo e Node.js)
Quindi ecco dove ho trascorso la mattinata impazzendo. Vorrei avviare MongoDB prima che l'applicazione Node sia in esecuzione. Nel setup dell'app Node, controllo eventuali valori nei database e, se è vuoto, spingo un file di test pieno di informazioni nelle tabelle.
Attualmente ho provato a utilizzare grunt-concurrent e grunt-shell-spawn per eseguire i necessari comandi mongo e nodo.
grunt.initConfig({
shell: {
mongo: {
command: 'mongo'
},
node: {
command: 'node app.js'
}
},
concurrent: {
dev: {
tasks: ['shell:mongo','shell:node'],
options: { logConcurrentOutput: true }
}
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-shell-spawn');
C'è un modo per garantire che il comando mongo raggiunge il suo "blocco" stato prima di eseguire il compito di nodo? Sto indovinando che questo potrebbe essere fatto eseguendo il task asincrono del nodo su una funzione setTimeout, ma non voglio essere costantemente in attesa di vedere le modifiche nel processo di sviluppo abbiano effetto. Attualmente ho tenuto aperta una scheda shell separata per il database e vorrei davvero integrarla in Grunt per mantenere tutto in un unico posto.
Non sono sicuro che sia importante su vasta scala, ma chiunque stia utilizzando Node.js e MongoDB lo troverebbe davvero utile.
Grazie
Per favore, prova a leggere questo http://stackoverflow.com/about, per ottenere maggiori informazioni su domande/risposte qui su SO. Il tuo contributo non risponde alla domanda. È più un commento, che puoi aggiungere una volta aumentata la tua reputazione: http://stackoverflow.com/faq#reputation –