본문 바로가기

JavaScript/Node.js

Node.js 시작해보기

반응형

 

들어가기에 앞서

리액트나 뷰를 공부하기 위해 개발 환경을 세팅하려는데 잘 모르는 node.js를 설치하고 
npm, nvm 등을 자꾸 언급하기에 먼저 Node.js를 간단하게 공부해보려고 한다.

 

 

 

 

Node.js

Node.js는 Chrome V8 Javascript 엔진으로 빌드된 JavaScript 런타임(Runtime)이라고 한다.

(*런타임이란 프로그래밍 언어가 구동되는 환경을 말한다.)

 

출처 - 위키백과

 

 

위키나 여러 사이트에서 정의한 정보를 보면 여러 특징을 가지고 있다는 것을 알 수 있는데, 이를 간단하게 나열하자면 아래와 같다.

(각 사이트마다 서술하고 있는 내용이 조금씩 상이하여 공통적으로 서술하고 있는바를 정리하였다.)

 

▶ 자바스크립트로 만들어진, 자바스크립트 언어(vue.js, React.js 등)로 만들어진 프로그램 실행 환경
▶ 자바스크립트 언어 프로그램을 브라우저 밖에서도 실행가능하게 함
▶ 서버에 사용 가능하면서도 내장 서버 라이브러리를 포함하고 있어 웹 서버로"도" 사용 가능
▶ Non-blocking(논블로킹) 방식 I/O 처리를 이용해하기 때문에 처리 성능이 굉장히 높음
     ( + Node.js 라이브러리 내의 API는 비동기 처리(논블로킹 방식)를 사용해 버퍼링이 없음. )
▶ 단일 스레드를 사용하여 스레드 간 시분할과 문맥교환이 없어 스프링이나 톰캣에서 사용되는 멀티 스레딩 비동기 처리보다 성능이 좋고 확장성이 뛰어남.

 

즉, Node.js는 자바스크립트 언어로 만들어진 다양한 자바스크립트 애플리케이션을 실행하는데 용이하며, 많이 사용되는 흔한 환경세팅 중 하나이기 때문에, 리액트나 뷰를 배울때 주로 Node.js를 먼저 깔아 간편하게 개발 환경을 세팅하는 것이었다.

 

 

환경세팅

node.js를 직접 설치하는 방법과 클라우드 IDE에서 따른 세팅 필요없이 아주 간단하게 개발을 진행해보는 방법이 있다.

 

 

클라우드 IDE (클라우드 통합 개발 환경)

클라우드 IDE를 사용하면 따로 환경을 구축하지 않고 클라우드 상에서 간편하게 개발이 가능하다.

여러 클라우드 IDE가 있고, 유료나 무료 중 원하는 것을 사용하면 된다.

 

무료 버전 구름 IDE

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

무료로 사용하기 위해 구름IDE에 가입하여 컨테이너를 만든다.

자세한 세팅은 하지 않고, 소프트웨어 스택만 Node.js를 선택하였다.

 

 

컨테이너가 생성되면 실행을 누른다.

 

 

기본적인 파일이 이미 생성되어 있는것을 확인 할 수 있으며, "프로젝트 > 실행"을 통해 실행할 수 있다.

 

 

혹은 터미널 영역에서 "node 파일명"으로 실행도 가능하다.

 

 

 

직접 설치 시

하단의 다운로드 링크에서 원하는 버전을 받으면 된다.

 

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

Node.js는 LTS와 현재 버전(Current) 두가지가 있는데 서버 운영이나 다른 프로그램과 같이 사용하여 안정성이 우선이라면 LTS, Node.js의 최신기능 사용이 목적이라면 Current를 받으면 된다.

 

사실 노드 js만 배우면 무엇을 받던 크게 차이는 없다고 생각하지만, 리액트나 뷰 같은 다른 것들과 함께 사용하려면 LTS 버전을 받는게 더 좋을 것 같아 LTS 버전으로 받았다.

 

 

다운로드된 파일을 실행하여 전부 다음을 하는데, 아래 추가 도구 설치 항목만 체크했다.

npm(노드 패키지 매니저)은 Node.js 설치시 자동으로 설치된다. (npm은 다음 글에서 더 다룸 >> 링크)

 

 

추가 도구 설치 체크시 Node.js 설치 완료 후 추가도구 설치 화면이 뜨고 아무키나 입력하면

 

 

사용자 계정 컨트롤 창이 뜨고 ("예"를 클릭한다.) 파워쉘 창이 뜬다. 설치가 전부 끝나면 엔터키를 눌러 종료하면 끝.

 

 

설치 확인은 cmd에서 하면 된다.

cmd 실행은 윈도우 버튼 + S => cmd 입력 후 엔터 or 윈도우 버튼 + R => cmd 입력 후 엔터

명령어는 아래와 같다.

 

/* 노드 버전 확인 */
node -v

/* 노드 패키지 매니저 버전 확인 */
npm -v

 

아래 사진과 같이 버전이 보이면 설치 완료.

숫자가 나오지 않고 에러 메시지가 나온다면 처음부터 다시 설치를 진행하면 된다.

 

설치 완료

 

 

+ NVM

NVM은 비공식 Node.js 버전 관리자 프로그램으로 bash가 지원되는 환경에서 간편하게 설치할 수 있다.

 

 

 

간단하게 실행해보기

REPL - cmd 창 / Node.js 터미널에서 실행

REPL은 Read Eval Print Loop의 약자로,

값을 입력받아(Read), 데이터를 처리(Eval), 결과값을 출력(Print) 과정을 반복(Loop) 하는 환경을 말한다.

Ctrl+C를 두번 입력받으면 반복을 종료한다.

 

실행방법은 cmd 창을 켜 node를 입력하거나, 

 

 

Node.js를 검색해 터미널을 실행하는 방법이 있다.

 

 

 

간단하게 코드를 쳐보자.

(undefined가 출력되도 오류는 아니며, 출력할 결과값이 없어 undefined가 나오는 것.)

 

> console.log("hello")
> 1+1
> var a=1
> console.log("a = "+a)

 

변수 간의 연산도 가능하다.

 

> let a=1
> a
> b  // Uncaught ReferenceError: b is not defined - 오류나는게 정상. 
> const c = 10
> a+b+c  // Uncaught ReferenceError: b is not defined - 오류나는게 정상. 
> a+c
> var b=5
> a+b+c

 

반복문을 실행시킬 수도 있다.

 

for(var i=0; i<10; i++) {
console.log
}

 

do while문도 가능

 

> do {
... a++
... console.log("a = "+a)
... }while (a<10)

 

가장 최근에 출력된 결과값을 "_" 언더바로 간편하게 출력할 수도 있다.

 

 

간단한 함수를 만들어 실행하는 것도 가능하다.

 

 

자바스크립트로 가능한건 대부분 가능한 것 같다. (alert은 안됨.)

 

 

 

 

파일 실행

Visual Studio code 같은 코드 작성 프로그램으로 간단한 js 파일을 생성하고,

(인코딩 문제가 발생할 수 있어 메모장으로 작성하는 것은 피하는게 좋다고 한다.)

cmd 창에서 해당 워크스페이스로 이동해 node 파일명을 입력해 파일을 실행한다.

 

main.js
0.00MB

// 간단한 테스트 코드
function main() {
    console.log("Hello World! ~ Node.js")
}

main();

 

이어서 간단하게 서버 테스트를 하기 위해 main.js 파일의 코드를 살짝 바꾼다.

 

main.js
0.00MB

// 간단한 서버 생성 코드
var http = require("http")
var port = 8888;

http.createServer(function(request, response){
    response.writeHead(200, {'Content-Type':'text/plain'});
    response.end("Hello World\n");
}).listen(port)  // 포트 뒤에 주소를 넣기도 함 ex) listen(port, '127.0.0.1')

console.log("App listening at http://localhost:"+port)

 

그리고 위와 똑같은 방식으로 cmd 창에서 main.js 파일을 실행한다.

생성된 서버의 URL은 "localhost:포트"이며, 보안 경고 창이 뜰 경우 액세스 허용을 해주면 된다.

 

 

서버 종료는 Ctrl + C 두번으로 하면 된다.

 

 

 

반응형

'JavaScript > Node.js' 카테고리의 다른 글

Node.js - NPM에 대한 간략한 설명  (0) 2022.01.27