Czy można uruchomić MongoDB z poziomu zadania Grunt? Zasadniczo, gdy uruchamiam środowisko programistyczne z grunt server
, chcę, aby uruchomił serwer MongoDB, jak również prawdopodobnie uruchamiając mongod
.Uruchom MongoDB z poziomu zadania Grunt
Odpowiedz
Można użyć grunt-shell uruchomić polecenie:
grunt.initConfig({
shell: {
mongo: {
command: 'mongod'
}
}
});
grunt-shell-spawn Można użyć do tego celu. Poprzednia odpowiedź zaleca pomrucznik, który synchronicznie działa na głównym procesie - blokując wykonywanie innych zadań.
shell: {
mongo: {
command: 'mongod',
options: {
async: true
}
}
}
Aby dodać odpowiedź jjj, wykorzystując grunt-shell-spawn jeśli chcesz, aby upewnić się każdy projekt ma swój własny przykład MongoDB z jego własnych danych, by to zrobić:
shell: {
mongodb: {
command: 'mongod --dbpath ./data/db',
options: {
async: true,
stdout: false,
stderr: true,
failOnError: true,
execOptions: {
cwd: '.'
}
}
}
},
Przykład drukuje również wyłącznie błędy.
można będzie wtedy wystarczy dodać shell:mongodb
do listy zadań grunt server
(najlepiej pierwsze zadanie), dodać data
do listy .gitignore
(zakładając że używasz git) i jesteś dobry, aby przejść.
Przy domyślnym ustawieniu mongo użyłem ścieżki db '/ data/db' bez początkowego znacznika katalogu. Poza tym jest to świetny dodatek do już świetnej odpowiedzi JJJ. – Scott
Przepraszam @ SindreSorhus, od tego czasu nie wróciłem do pracy. Odpowiedź jest teraz akceptowana. – claydiffrient
chrząknięcie jest blokowane, więc polecenie zawiesza pozostałe kroki budowania. – JJJ