2013-10-10 3 views
5

에 여러 차단 작업을 실행하면 최근 Gruntjs에 대한 사랑을 찍은 행복하게 훨씬 더 쉽게 나의 개발 라이프를 만들기 위해 모든 기회에 던지고있다. 나는 현재 내 SASS 파일을 컴파일하고 시계를 실행하며 노드 서버를 사용하여 응용 프로그램에서 작업하면서 노드 서버를 계속 업데이트합니다. 나 자신에게 미치게 아침 보냈다 어디 그래서 여기Gruntjs - 특정 주문 (몽고 및 Node.js를)

입니다. Node 애플리케이션을 실행하기 전에 MongoDB를 시작하고 싶습니다. 노드 응용 프로그램의 설정에서 데이터베이스의 값을 확인하고 비어있는 경우 테스트 파일을 정보로 가득 채워 테이블에 넣습니다.

나는 현재 grunt-concurrentgrunt-shell-spawn을 사용하여 필요한 mongo 및 node 명령을 실행 해 보았습니다.

grunt.initConfig({ 
    shell: { 
    mongo: { 
     command: 'mongo' 
    }, 
    node: { 
     command: 'node app.js' 
    } 
    }, 
    concurrent: { 
    dev: { 
     tasks: ['shell:mongo','shell:node'], 
     options: { logConcurrentOutput: true } 
    } 
    } 
}); 
grunt.loadNpmTasks('grunt-concurrent'); 
grunt.loadNpmTasks('grunt-shell-spawn'); 

몽고 명령이 이전 노드 작업을 실행하는 상태를 "차단"이야 도달하도록하는 방법이 있나요? setTimeout 함수에서 노드 작업 async를 실행하여이 작업을 수행 할 수 있다고 추측하고 있지만 개발 프로세스의 변경 사항이 적용되는 것을 계속 기다리고 싶지는 않습니다. 현재 저는 데이터베이스 용으로 별도의 쉘 탭을 열어 놓았으며 모든 것을 한 곳에서 관리하기 위해 이것을 Grunt에 통합하려고합니다.

난 정말이 유용한 찾을 것 Node.js를하고 MongoDB를를 사용하는의 IT의 광범위한 규모의 중요성,하지만 사람에 대해 확실하지 않다.

감사

답변

-2

는 \

+0

, 여기에 SO에 대한 질문/답변에 대한 자세한 이해를 얻기 위해,이 http://stackoverflow.com/about을 읽어 보시기 바랍니다. 귀하의 기고가 질문에 답변하지 않습니다. 그것은 더 당신이 당신의 평판을 높일 수 있습니다 일단 추가 할 수있는 코멘트 : Nodemon는 노드의 개발 설정을 관리하기위한 좋은 도구입니다 http://stackoverflow.com/faq#reputation –

0

쉘 꿀꿀 - nodemon를 사용하여 시도 액세스 할 수있는 경우 당신은 확인하기 위해 MongoDB를의 서비스 포트를 확인할 간격 수 :이 몽고를 지정하면서 "옵션 : {비동기 : TRUE}"

concurrent: { 
     tasks: ['shell', 'nodemon'], 
     options: { 
      logConcurrentOutput: true 
     } 
    }, 
    shell: { 
     mongo: { 
      command: 'mongod', 
      options: { 
       async: true 
      } 
     } 
    }, 
nodemon: { 
     dev: { 
      script: "server.js", 
     } 
    } 

이 나를 위해 일했다.

+1

을하지만 정말 아닙니다이었다 이 질문의 요점. 쉘 : mongo가 nodemon을 시작하기 전에 _ 항상 _ 블로킹 상태에 도달하는 테스트 예제가 있습니까? 비동기 옵션은 이것을 보장하지 않습니다. –