Node.js 실행과 npm
저번 포스팅에서는 Node.js에 대해 간단히 알아보았고 설치를 했었는데 이번 포스팅에서는 Node.js를 실행해보고 npm이라는 것도 알아보겠다.
#1 Node.js REPL
다음과 같이 입력해보자
Node.js 파일을 실행하려면 node 명령어 뒤에 파일명을 입력해주는데, 여기서 파일 확장자인 .js는 생략이 가능하다.
Node.js 코드를 실행할 수 있는 REPL에서 CTRL + C 를 두 번 누르면 REPL을 종료한다.
.exit를 입력해도 된다.
#2 Node.js 맛보기
const http = require('http'); (1) http.createServer((request, response) => { (2) response.statusCode = 200; response.setHeader('Content-Type', 'text/plain'); response.end('Hello Wolrd'); }).listen(3000); console.log('Setver running at http://127.0.0.1:3000/'); (3)
이 코드에 대해 간단히 설명을 해보자면
(1) : http 모듈을 로딩하여 변수 http에 할당해주었다.
모듈은 module.exports 또는 exports 객체를 통해 정의하고 외부로 공개한다. 공개된 모듈은 require 함수를 사용해 임포트한다.
(2) : http 모듈의 createServer([requestListener]) 메소드를 사용해 HTTP 서버 객체를 생성한다.
HTTP 서버 객체는 EventEmitter 클래스를 상속한 것으로 request 이벤트가 발생하면 HTTP request를 처리해 response를 반환하는 'request Listener' 함수를 호출.
이 request Listener 함수는 request와 response 객체를 전달받으며 HTTP request 이벤트가 발생할 때마다 한 번씩 호출된다.
(3) : createServer 메소드가 반환한 HTTP 서버 객체의 listen 메소드에 포트번호 3000을 전달해 서버를 실행한다.
위와 같이 작성한 app.js 파일의 경로에서 다음 명령으로 서버를 실행해준다.
이 문구가 뜨면 브라우저에서 "http://localhost:3000"에 접속하면 "Hello World"가 출력되는 것을 볼 수 있다.
#3 npm
#4 npm 설치
#4-1 npm을 사용해 패키지 설치 해보기
그런 다음, npm install 명령어로 node-emoji 패키지를 설치한다.
필자는 emoji 라는 디렉터리를 생성해 그 안에 node-emoji 패키지를 설치했다.
독자분들은 디렉터리 명이 다를 수 있으니 node-emoji를 설치한 디렉터리에서 node 명령어를 입력해 Node.js REPL을 실행시킨다.
실행시킨 후 node-emoji를 로드한 후 하트 이모지를 출력해보자.
하트 이모지가 예쁘게 출력된 모습을 볼 수 있다ㅎㅎ
#5 지역 설치, 전역 설치
npm install 명령어에는 지역 설치와 전역 설치 명령어가 존재한다.
이 옵션을 별도로 설정해주지 않으면 자동으로 '지역'으로 설치가 된다.
지역 설치 명령어는 아무 옵션도 지정해주지 않기 때문에 #4-1 에서 node-emoji를 설치한 방법과 같다.
지역 설치
[ npm install <package name> ]
전역에 패키지를 설치하려면 -g 옵션을 지정한다.
전역으로 설치된 패키지는 전역에서 참조할 수 있으며, 모든 프로젝트가 공통으로 사용하는 패키지는 -g 옵션을 주어 전역에 설치해준다.
전역 설치
[ npm install -g <package name> ]
전역에 설치된 패키지는 OS에 따라 설치 장소가 다르다
Window : c:\Users\%USERNAME%\AppData\Roaming\npm\node_module
macOS : /usr/local/lib/node_module
잘 이해가 되셨나요? 아직 저도 전문가는 아니지만 전문가가 되기 위해서 열심히 공부하고 있습니다.
독자님들도 열심히 파이팅 하셨으면 좋겠습니다!!
부족하지만 글 읽어주셔서 정말 감사드립니다ㅎㅎ
'Node.js' 카테고리의 다른 글
Node.js 소개 및 설치 (0) | 2019.08.06 |
---|