2013-07-26 13 views
21

MongoDB'yi Grunt görevinden başlatmak mümkün mü? Temel olarak grunt server ile geliştirme ortamımı çalıştırdığımda, muhtemelen mongod'u çalıştırarak MongoDB sunucusunu başlatmasını istiyorum.MongoDB'yi Grunt görevinin içinden başlatın

+0

Üzgünüm @SindreSorhus, bu işe devam etmek için geri gelmedim. Cevap şimdi kabul edildi. – claydiffrient

+0

grunt-shell engelleniyor, bu nedenle komut, yapı adımlarının geri kalanını askıya alır. – JJJ

cevap

20

Sen komutu çalıştırmak için grunt-shell kullanabilirsiniz: Bunu yapmak için grunt-shell-spawn kullanabilirsiniz

grunt.initConfig({ 
    shell: { 
     mongo: { 
      command: 'mongod' 
     } 
    } 
}); 
39

. Önceki cevap, ana işlem üzerinde eşzamanlı olarak çalışan ve diğer görevlerin yürütülmesini engelleyen grunt-shell'i önerir.

shell: { 
    mongo: { 
     command: 'mongod', 
     options: { 
      async: true 
     } 
    } 
} 
23

yapmak istiyorsanız grunt-shell-spawn kullanarak, jjj cevabı eklemek için emin her proje Sen bu yapardın o kendi verileriyle kendi mongodb örneği var sahiptir:

shell: { 
    mongodb: { 
     command: 'mongod --dbpath ./data/db', 
     options: { 
      async: true, 
      stdout: false, 
      stderr: true, 
      failOnError: true, 
      execOptions: { 
       cwd: '.' 
      } 
     } 
    } 
}, 

örnek de sadece yazdırır hatalar.

Ardından sadece senin grunt server görev listesi (tercihen ilk görev) için shell:mongodb eklemek data eklersiniz senin .gitignore (eğer budala kullandığınız varsayılarak) ve gitmek iyisin.

+0

Varsayılan mongo kurulumunda, ilk dizin işareti olmadan db yolunu/veri/db yi kullandım. Bunun dışında bu JJJ'nin zaten mükemmel cevabı için harika bir ektir. – Scott