Можно ли запустить MongoDB из задачи Grunt? В основном, когда я запускаю среду разработки с помощью grunt server, я хочу, чтобы он запустил сервер MongoDB, а возможно, выполнив mongod.
Запуск MongoDB из задачи Grunt
Ответ 1
Вы можете использовать grunt-shell для запуска команды:
grunt.initConfig({
shell: {
mongo: {
command: 'mongod'
}
}
});
Ответ 2
Вы можете использовать grunt-shell-spawn для этого. Предыдущий ответ рекомендует grunt-shell, который работает синхронно в основном процессе - блокирование выполнения других задач.
shell: {
mongo: {
command: 'mongod',
options: {
async: true
}
}
}
Ответ 3
Чтобы добавить ответ JJJ, используя grunt-shell-spawn, если вы хотите убедиться, что у каждого проекта есть собственный экземпляр mongodb с его собственными данными, вы должны сделать это:
shell: {
mongodb: {
command: 'mongod --dbpath ./data/db',
options: {
async: true,
stdout: false,
stderr: true,
failOnError: true,
execOptions: {
cwd: '.'
}
}
}
},
В этом примере также выводятся только ошибки.
Затем вы просто добавили shell:mongodb в список задач grunt server (предпочтительно первую задачу), добавьте data в ваш .gitignore (при условии, что вы используете git), и вы хороши для перейти.