2014-09-04 1 views
0

NodeJs를 처음 사용합니다. 내 폴더에 3 개의 다른 js 파일이 있다고 가정합니다. 노드 js 파일을 실행하려면 명령 프롬프트에 "node file1.js"를 입력하고 싶습니다. 다시 다른 js 파일을 실행하려면 이전에 실행중인 js 파일을 중지해야하고 "node file2.js"를 제공해야합니다. 또는 새로운 명령 프롬프트를 열고 두 번째 js 파일을 실행해야합니다. 마찬가지로 세 번째 파일도 마찬가지로해야합니다. 이것은 나를 많이 짜증나게했다. 새 명령 프롬프트를 열지 않고도 sametime에서 모든 js 파일을 실행할 수있는 방법이 있습니까? 이 문제를 해결하도록 도와주세요.NodeJs에서 sametime에서 다른 js 파일 실행

+0

'.sh' 또는'.bat'을 씁니다. 파일이 서로 통신합니까? – chestnut

+0

일부 파일은 서로 통신합니다. 나는 또한 통신하지 않는 파일이 있습니다. 또한 .sh 또는 .bat 파일을 인식하지 못합니다. 모든 자습서가 도움이 될 것입니다. – Vib

+0

'.sh'는'* nix'에서 실행되는'shell' 스크립트를 의미하는 반면,'.bat'는'windows'에서'Batch'가 실행되는 것을 의미합니다. 둘 다 디렉토리를 통해 루프하고 일부 명령을 실행할 수 있습니다. 나는 너에게 해답을 줄 것이다. – chestnut

답변

0

이러한 작업을 수행하려면 filename.sh이라는 bash (셸 스크립트 중 하나)를 작성하십시오. Windows에서 작업하는 경우 으로 filename.bat을 작성할 수 있습니다. 다음은 bash 스크립트 예제입니다. 위의 코드를 실행하도록 명령 sh filename.sh을 실행하면

#!/bin/bash 
for d in * ; do 
if [[ $d == *\.js ]] 
then 
    node "$d" & 
fi 
done 

, 그것은 현재 디렉토리에있는 모든 JS 파일을 실행합니다. 그리고 if 블록에서 일부 필터 규칙을 실행하지 않으려는 파일을 건너 뛸 수 있습니다. 나는 당신이 그렇게 할 수 있다고 생각합니다.

0

다른 명령 프롬프트를 사용하지 않으려면 forever 또는 pm2과 같은 일부 "실행 프로그램"을 사용할 수 있습니다.

forever start myJsFile1.js 
forever start myJsFile2.js 
forever start myJsFile3.js 

을 당신은 forever list와 파일에 대한 몇 가지 통계를 볼 수 있습니다 다음으로

,이처럼 JS 파일을 실행할 수 있습니다.

자료 문서 :

또 다른 방법은 얻을 당신이 그것을 시작 직후 백그라운드에서 프로세스를 넣어 깨끗하고 프롬프트 당신의. 새로운 프롬프트를 시작하지 않아도됩니다. 당신이 정말로 정확하게 동시에에서 파일을 실행하려면

node myJsFile1.js & 
node myJsFile2.js & 
node myJsFile2.js & 

그러나, 나는 당신의 프로그램이 어떻게 작동하는지 이해하지 않습니다. 왜냐하면 하나의 파일을 시작하고 다른 파일을 요구하거나 메인 파일에서 어떤 방식 으로든 사용할 수 있기 때문입니다.