我最近接受了Gruntjs的愛,並且一直樂於投入每一次機會讓我的開發生活變得更容易。我目前正在編譯我的SASS文件,運行手錶,並使用nodemon在我工作應用程序時保持我的節點服務器更新。Gruntjs - 以特定順序運行多個攔截任務(Mongo&Node.js)
所以這裏是我早上駕駛自己堅果的地方。我想在運行Node應用程序之前啓動MongoDB。在Node應用程序的設置中,我檢查數據庫中的任何值,如果它爲空,則將測試文件充滿信息到表中。
我目前嘗試使用grunt-concurrent和grunt-shell-spawn來運行必要的mongo和node命令。
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');
有沒有辦法確保mongo命令在運行節點任務之前達到它的「阻塞」狀態?我猜這可以通過在setTimeout函數上運行異步節點任務來完成,但我不想一直等待開發過程中的更改才能生效。目前,我一直在爲數據庫保留一個單獨的shell選項卡,並且真的想將它集成到Grunt中,以便將所有內容保存在一個地方。
我不確定它是否具有廣泛的重要性,但是任何使用Node.js和MongoDB的人都會覺得這很有用。
感謝
請嘗試閱讀本文http://stackoverflow.com/about,以獲得關於SO的更多關於問題/解答的理解。你的貢獻沒有回答這個問題。它更多的是一個評論,你可以添加,一旦你將增加你的聲譽:http://stackoverflow.com/faq#reputation –