2017-10-13 1 views
1

내 NPM 스크립트 당신이 볼 수 있듯이내가 1 개 터미널에서이 지속적으로 NPM 명령을 실행할 수

"scripts": { 
"webpack": "webpack --config webpack.config.js --watch", 
"server": "nodemon server.js", 
} 

에서이 2 개 개의 명령을 가지고, 하나는 웹팩 내가 파일을 저장 한 단지로 서버를 실행할 때마다 실행 nodemon 그래서 나는 파일을 저장할 때마다 "npm start"또는 뭔가를 입력 할 필요가 없습니다.

이제 제대로 작동하지만 터미널을 실행하려면 항상 열려 있어야하고 화면에 약간 붐비는군요.

내가 하나 개의 명령을 가질 수는 다음과 같이 읽을 다음 웹팩 명령이 진행하고 두 번째 명령에 도달하지 않습니다

"start": "npm run webpack && npm run server" 

becase.

1 개의 터미널에서이 두 가지 명령을 사용할 수있는 방법이 있습니까?

+0

그것은 가치가있는 것보다 더 복잡합니다. 왜 tmux 나 유사한 멀티플렉서를 사용하여 별도의 창에서 실행하지 않는가? 당신이 macos에 iterm2를 사용하는 경우, 당신은 창을 나눌 수 있습니다. – maxhallinan

+0

''prestart ''섹션에 webpack 명령을 추가하고'node start'를 간단하게 실행하십시오. –

답변

2

& (두 개가 아닌 하나의 앰퍼샌드)을 사용하여 백그라운드에서 하나의 프로세스를 실행할 수 있지만 수동으로 관리해야하므로 다소 번거로울 수 있습니다. 자세한 내용은 What does ampersand mean at the end of a shell script line?을 참조하십시오.

이 유스 케이스의 경우 누군가가 concurrently을 작성했기 때문에 프로세스를 병렬로 실행하고 출력을 추적 할 수 있습니다.

npm install --save-dev concurrently 

그리고 당신의 start 스크립트가됩니다 :

"start": "concurrently 'npm run webpack' 'npm run server'" 

당신은 예를 들어 출력이 -c와 프로세스를 -n와 이름과 색상을 줄 수있는 조금 더 예뻐, 확인하려면 :

"start": "concurrently -n 'webpack,server' -c 'bgBlue.bold,bgGreen.bold' 'npm run webpack' 'npm run server'" 
+0

고마워요! 동시에 매력처럼 작동합니다. 터미널을 끊임없이 전환하는 번거 로움을 덜어 줬습니다. – TheGreyBearded

관련 문제