Ryu.log

[ NodeJS 02 ] REPL과 hello node! 본문

Prev-content

[ NodeJS 02 ] REPL과 hello node!

류뚝딱 2018. 7. 9. 14:47


01.REPL

명령 프롬포트 창을 열어서 아래 명령어를 입력한다.

node



커멘더 창의 명령어 입력 란의 모양이 한칸내려와서 > 하나로만 되어있다.

이렇게 되면 JavaScript를 입력할 준비가 되었다는 뜻이다.



이런식으로 명령 프롬포트에서 JavaScript 구문을 작성할 수 있게 되었다.

이렇게 웹브라우저 바깥에서 JavaScript를 사용할 수 있도록 도와주는게 Node의 힘이다.


명령 프롬포트를 자세히 보면 명령어를 한줄씩 치는게 어디선가 많이본 것같은데, 바로! 크롬 개발자도구 콘솔과 매우 비슷하다!



명령 프롬포트에서 한줄 씩 입력한 것과 똑같다 이런것을 REPL 이라 부른다.

REPL 이란 ? 아래 4가지 행동을 반복하여 계속 진행한다고 해서 REPL이라 한다.


1.   Read 입력한 값을 읽는다.

2.   Evaluate 파악하다 (평가하다).

3.   Print 출력한다.

4.   Loop 반복하다.


아래 코드를 바로 위쪽에서 진행했던 예제 코드들과 차례대로 자세히 비교해보자.

> const a = 1; // 1. Read 입력한 값을 읽는다. // 2. Evaluate 파악하다 (평가하다) 값이 a에 1을 대입하여 선언하는 식인지 알게된다. > undefined // 3. Print 출력한다. (선언식, 대입식 에서는 undefined) // 4. Loop 반복하다. 다시 다음 명령어를 기다린다. > a // 1. Read 입력한 값을 읽는다. // 2. Evaluate a의 값을 파악하다 (평가하다) > 1 // 3. Print 출력한다. // 4. Loop 반복하다. 다시 다음 명령어를 기다린다. > const b = () => 'hello Node' // 1. Read 입력한 값을 읽는다. // 2. Evaluate 파악하다 (평가하다) b에 'hello Node'를 리턴하는 함수를 대입하는 식인지 알게 된다. > undefined // 3. Print 출력한다. (선언식, 대입식 에서는 undefined) // 4. Loop 반복하다. 다시 다음 명령어를 기다린다. > b() // 1. Read 입력한 값을 읽는다. // 2. Evaluate b의 값을 파악하다 (평가하다) > "hello Node" // 3. Print 출력한다. // 4. Loop 반복하다. 다시 다음 명령어를 기다린다.

하지만 Node 프로그래밍을 진행할때 REPL에 한줄씩쳐서 프로그래밍을 하기에는 너무 비효율적이다.


그래서 우리는 .js파일을 만들어서 Node가 수백줄 짜리 파일을 알아서 읽어주게하여 

편하게 JavaScript를 웹브라우저 바깥에서 사용할 수 있게 해보자!




02. hello node

위에서 진행한 REPL방식의 프로그래밍은 상당히 비효율적이다.
이번에는 .js파일 을 만들어서 Node에게 .js 파일을 읽도록 해보자.

먼저 nodeStudy라는 디렉토리 생성후 안쪽에 helloNode.js파일을 생성시킨뒤 위 간단한 예제 코드를 삽입해본다.
//nodeStudy/helloNode.js
var a = 1;
var b = 2;
console.log(a+b);
console.log('hello node');

cmd창을 키고 생성한 nodeStudy 루트로 이동한 뒤  아래 명령어를 입력한다.


node helloNode (확장자명 .js는 생략가능함)



정상적으로 helloNode.js파일을 읽어온다!


이전에도 말했지만 NodeJavaScript웹브라우저 바깥에서 사용가능하게 해준다.

이젠 웹브라우저 없이 Node만으로 명령프롬포트에서도 자유롭게 JavaScript가 사용가능하다!

Comments