2013-07-26 3 views
21

그랑트 작업 내에서 MongoDB를 시작할 수 있습니까? 기본적으로 grunt server으로 개발 환경을 실행할 때 mongod을 실행하여 MongoDB 서버를 시작할 수도 있습니다.그란트 작업 내에서 MongoDB를 시작하십시오

+0

죄송합니다. @SindreSorhus, 이후로 다시 작업하지 않았습니다. 이제 그 대답이 받아 들여집니다. – claydiffrient

+0

grunt-shell이 ​​(가) 차단되어 명령이 나머지 빌드 단계를 중단시킵니다. – JJJ

답변

20

당신은 명령을 실행 grunt-shell을 사용할 수 있습니다 : 당신은이 작업을 수행 grunt-shell-spawn을 사용할 수 있습니다

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

. 이전 답변에서는 주 프로세스에서 동 기적으로 실행되는 grunt-shell을 권장하여 다른 작업의 실행을 차단했습니다.

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

당신이 만들고 싶어 grunt-shell-spawn를 사용하여, JJJ의 대답에 추가 확인 각 프로젝트는이 작업을 수행 할 것 그 자체가 데이터를 자신의 MongoDB의 인스턴스의가 있습니다

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

예는 단지 출력한다 오류.

그런 다음 그냥 당신의 grunt server 작업 목록 (바람직하게는 첫 번째 작업)에 shell:mongodb를 추가로 data을 추가하여 .gitignore (당신은 자식을 사용하는 가정) 당신은 갈 수 있어요.

+0

내가 가지고있는 기본 mongo 설정으로, 초기 디렉토리 표시없이 db 경로'/ data/db'를 사용했습니다. 그 외에도 JJJ의 위대한 답변에 큰 도움이됩니다. – Scott