Подтвердить что ты не робот

Запуск MongoDB из задачи Grunt

Можно ли запустить MongoDB из задачи Grunt? В основном, когда я запускаю среду разработки с помощью grunt server, я хочу, чтобы он запустил сервер MongoDB, а возможно, выполнив mongod.

4b9b3361

Ответ 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), и вы хороши для перейти.