Недавно я полюбил Gruntjs и с радостью выбрасывал каждую возможность, чтобы сделать мою жизнь в развитии намного проще. В настоящее время я собираю его файлы SASS, часы работы и использование nodemon, чтобы обновлять мой сервер узлов, когда я работаю над этим приложением.Gruntjs - Выполнение нескольких задач блокировки в определенном порядке (Mongo & Node.js)
Так вот, где я провел утро, забирая себе орехи. Я хотел бы запустить MongoDB до запуска приложения Node. В настройке приложения 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');
Есть ли способ, чтобы убедиться, что команда Монго достигает это «блокирование» состояние перед выполнением задачи узел? Я предполагаю, что это можно сделать, запустив задачу async узла в функции setTimeout, но я не хочу постоянно ждать, чтобы изменения в процессе разработки вступили в силу. В настоящее время я сохраняю отдельную вкладку оболочки, открытую для базы данных, и мне бы очень хотелось интегрировать ее в Grunt, чтобы сохранить все в одном месте.
Я не уверен в его значимости в широких масштабах, но любой, кто использует Node.js и MongoDB, действительно найдет это полезным.
Благодаря
Пожалуйста, попробуйте прочитать это http://stackoverflow.com/about, чтобы узнать больше о вопросах/ответах здесь, на SO. Ваш вклад не отвечает на этот вопрос. Это больше комментарий, который вы можете добавить, как только вы увеличите свою репутацию: http://stackoverflow.com/faq#reputation –