기본 콘텐츠로 건너뛰기

라벨이 webstorm인 게시물 표시

Meteor server-side debugging Tip

Meteor는 수정할때마다 소스를 다시 생성하는 방법이라서 기존 IDE상에서 node.js 디버깅은 어렵다. 하지만 방법이 없는 건 아닌데 의외로 간단하니 breakpoint나 watch가 필요한 경우 잘 보고 적용해보도록 하자. 사실 Meteor 에서 지원하는게 아니라 node 자체의 debugging 옵션을 사용하는 것인데 환경 변수 하나를 설정한다. export NODE_OPTIONS='--debug' 그리고 meteor(혹은 mrt)서버를 시작한다. 시작할때 로그를 보면 Running on: http://localhost:3000/ debugger listening on port 5858 5858포트로 디버거를 열었음을 확인할 수 있다.(default:기본값이 5858) 만일 특정포트로 열고자 하면 export NODE_OPTIONS='--debug=47977' 이런 식으로 하면 된다. 그리고 자신이 애용하는 node debugger로 보면 된다. node-inspector( https://github.com/dannycoates/node-inspector )나 node-webkit-agent ( https://github.com/c4milo/node-webkit-agent )같은 걸 사용하면 되겠다. webstorm을 사용한다면 Run/Debug Configuration으로 가서 설정하면 된다. node-inspector를 설치하고 해당 meteor 프로젝트가 있는 경로에서 터미널에 wstorm . 과 같이 커맨드라인 실행을 했다는 가정이다. (커맨드라인 실행은 webstorm > tools > Create Launcher Script 에서 지정한 name으로 할 수 있다) 그리고 Command Line Tools Console 에서 node-inspector나 node-webkit-agent 를 띄워서 본다. 내 경우엔 브라우저에서 창을 왔다갔다 하는게...

webstorm 에서 meteor Application 을 기동하는 방법

webstorm 은 훌륭한 web-IDE고 meteor도 훌륭한 javascript framework 인데 meteor의 경우 실제로 node.js 파일을 실행하는 부분이 없어서 어딜 진입점으로 해야할지 난감하게 느낄 수도 있다. 고민하지 말고 meteor 실행 파일을 까보자. cat `which meteor` 해보니 맨 마지막 두줄에 export NODE_PATH="$DEV_BUNDLE/lib/node_modules" exec "$DEV_BUNDLE/bin/node" "$METEOR" "$@" 이 두문장이 보인다. $DEV_BUNDLE 이 어딘지 읽어보기 귀찮아서 찍어봤더니 meteor 설치 디렉토리더라 내 경우는 /usr/local/meteor which meteor 에서 bin 상위 경로라고 보면 된다. Edit Configuration 에서 Node.js 를 추가하고 아래와 같이 설정해보자. 이런식으로 주니 무리가 없더라. Environment variables 에 NODE_PATH 항목을 추가하고 meteor 를 설치한 경로 + /lib/node_modules 를 추가하는게 포인트. 눈치빠른 분이라면 meteor application 에 외부 package를 추가하고자 할때 어떻게 해야할지 감 잡으신 분도 있을거다 아무튼 저렇게 하고 가동하면 정상적으로 동작한다. 이제 터미널 옮겨다니 말고 편하게 콘솔창으로 서버 메시지를 보자.

Webstorm 에서 node.js 에서 Debug 가 안될때

언제부턴가 webStorm 에서 debug 를 하면 fs.js 를 비롯한 수많은 파일에 걸려 멈춰있는 경우가 있다. express.js 사용여부와 상관있어 보이는데 해결 방법은 간단하다. 메뉴에서 Run > View Breakpoints 를 선택. 쾌적한 디버깅 환경을 즐기자.