[javascript] WebStorm 내에서 어떻게 nodemon을 실행할 수 있습니까?

WebStorm IDE (버전 7)에서 nodemon 을 사용하고 싶습니다 . Nodemon은 내 소스 폴더에있는 하나 이상의 파일을 감시하고 소스 파일 중 하나가 변경되면 노드 프로세스 (이 경우 Express 서버)를 다시 시작합니다.

노드 프로세스가 자동으로 다시 시작되도록 실행 구성 에서 nodemon 을 사용하도록 WebStorm을 구성하려면 어떻게합니까 ?

nodemon이 없으면 WebStorm에서 다음 구성을 사용하지만 소스 파일에서 무언가를 변경할 때마다 노드 프로세스를 다시 시작해야합니다.

  • 노드 인터프리터 : /usr/local/bin/node
  • 작업 디렉토리 : /Users/foo/test
  • JavaScript 파일 : server.js

그러면 node server.js지정된 디렉토리에서 실행되는 실행 구성이 생성됩니다 .

명령 줄에서 다음 명령을 사용하여 nodemon 을 사용 nodemon server.js하여 프로젝트 디렉터리에서 파일 변경을 감시 할 수 있습니다 .

nodemon 도 사용하도록 WebStorm 구성을 변경하려면 어떻게해야 합니까?



답변

--exec최소한 최신 버전의 nodemon 및 Webstorm 7 또는 8을 사용할 때 해결 방법 이 더 이상 필요하지 않은 것 같습니다 .

콘솔 (예 : “노드 매개 변수”)에서 실행하여 해당 경로를 가져 와서 nodemon 에 대한 경로를 지정하기 만하면 됩니다 .which nodemon/usr/local/bin/nodemon

nodemon을 사용한 Webstorm

@Bela Clark, 확인해 주셔서 감사합니다.


답변

이것이 Windows 솔루션입니다.

다음과 같이 노드 대신 nodemon.cmd를 직접 사용할 수 있습니다.

Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/

그리고 :

여기에 이미지 설명 입력

도움이되기를 바랍니다.


답변

nodemon 을 설치하려면 다음을 사용하십시오 (필요한 경우 sudo 를 사용 하여 루트 권한으로 설치를 실행하십시오.

npm install -g nodemon

이렇게하면 시스템에 nodemon이 전역 적으로 설치됩니다 .

그런 다음 WebStorm 실행 구성 에서 다음을 추가하고 나머지는 변경하지 않습니다.

  • 노드 매개 변수 : /usr/local/bin/nodemon --exec /usr/local/bin/node

그러면 노드 인터프리터가 nodemon다음 명령 줄을 사용하여 스크립트 를 실행하도록 지시합니다 node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js..

--exec실행이 다음 오류와 함께 실패 할 것 같은 부분은 중요하다 :

/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

이 오류는 WebStorm node이 경로 에서 실행 파일을 볼 수 없기 때문에 발생한 것 같습니다 .

이에 대한 수정 node--exec /usr/local/bin/node매개 변수를 사용하여 실행 파일 의 위치를 ​​지정하는 것 입니다.

이러한 설정을 사용하면 nodemon 이 WebStorm 실행 구성 에서 실행될 때 제대로 작동합니다 .

nodemon 과 유사한 일부 도구 ( 예 : node-supervisor) 에서도 동일한 트릭을 사용해야 할 수 있습니다 .


답변

나는 Windows를 사용하고 있으며 nodemon으로 작업하지 않았지만 (이유는 알 수 없음) Jetbrains의 누군가가 감독자와 함께 시도해 보도록 제안했습니다.

  1. 감독자를 설치했습니다. npm install supervisor -g

  2. 그런 다음 supervisor설치 위치를 찾으십시오 .
    C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Intellij로 돌아가서 구성 편집-> 노드 매개 변수-> 추가 : C : \ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –no-restart-on 오류

구성 편집

노드 매개 변수


답변

Windows 10의 솔루션에 관심이있는 사람들을 위해 여기에 내 구성이 있습니다. “Terminate Batch”를 표시하지 않고 완벽하게 작동합니다.

여기에 이미지 설명 입력

디버그를 한 번 누르면 변경 파일을 저장할 수 있으며 서버는 디버그 모드에서 다시 시작됩니다. 모든 브레이크 포인트가 완벽하게 작동합니다.


답변

Windows 사용자의 경우 :

노드 인터프리터 : node.exe의 경로, 즉 c : \ program files \ node \ node.exe

노드 매개 변수 : C : \ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js


답변

nvm과 함께 작동하도록 만들 수도 있고 디버깅은 여전히 ​​작동합니다.

Node.js 8.1.0 및 Webstorm 2017.2로 테스트되었습니다.

먼저 올바른 버전 (제 경우에는 v8.1.0)인지 확인하고 nodemon을 전역으로 설치합니다.

nvm use v8.1.0
npm install -g nodemon

그런 다음 실행 / 디버그 구성을 열고 올바른 노드 인터프리터로 새 구성을 만듭니다.

노드 매개 변수는 다음과 같아야합니다.

/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

리눅스

/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

응답하여 저장 및 디버그 🙂

Node.js nodemon 웹 스톰 디버그