Dog foot print

javascript를 배우기전 설치해야하는 node.js 본문

Javascript

javascript를 배우기전 설치해야하는 node.js

개 발자국 2019. 6. 24. 22:00

자바스크립트를 이용해서 로직을 사용하려면 다음과 같이 html파일에 script를 작성해서 console.log() 나 alert으로 연산의 결과를 확인해야 한다. 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
    console.log(10+10);
    alert("hello world");
    </script>
</head>
<body>
    asddasd
</body>
</html>

 

그렇지만 나는 브라우저에서 간단한 연산을 확인하는 작업이 굉장히 불편하다고 생각하고 초보자들이 Dom트리를 배우기 전에는 굳이 html과 섞어서 사용할 이유가 없다고 생각하기에 node.js를 설치해서 연산의 결과를 확인하는 것을 추천한다. 

 

Node.js 란 무엇인가? 

v8엔진으로 빌드 된 이벤트 기반 자바스크립트 런타임이다. 웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안되었다. 

-위키백과 node.js 설명 https://ko.wikipedia.org/wiki/Node.js

 

Node.js - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.

ko.wikipedia.org

내용이 조금 어려운데 요약하면 자바스크립트는 브라우저에서 해석되어 작동되었다. 그래서 브라우저외에는 자바스크립트를 실행시킬 수 없었는데 node.js는 자바스크립트를 브라우저외에 os상에서 작동 할 수 있게 크롬 v8엔진 환경을 제공하여 자바스크립트를 실행 시킬 수 있게 도와준다.

 

 여담으로 node.js 는 http를 포함하고 있어 아파치나 아마존 웹 서버를 이용하지 않고 별도의 웹 서버를 사용 할 수 있다. 

(무엇보다 node.js는 자바스크립트로 구동 되기 때문에 타 언어를 공부하지 않고 서버사이드를 구현할 수 있다. )

 

설치

https://nodejs.org/ko/ 링크를 따라가면 다음과 같이 node .js 최신버전과 안정화 버전 중 선택 할 수 있다. 

 

node.js 메인페이지

 

커다란 이슈가 없었기에 최신 버전을 설치해도 상관없다. 본인은 10.16버전을 설치했다. 설치도우미가 시키는데로 잘 따라하게 되면 npm(node pakage manage) 와 node 가 설치된다. npm은 자바스크립트를 위한 패키지 관리자인데 지금 node를 설치하는 상황에서는 npm을 사용할일도 없고 npm이 무엇인지 몰라도 되니 넘어가자. 

 

설치가 잘 되었는지 확인하기 위해서 다음과 같이 CMD(윈도우) , 터미널(맥) 을 켜서 버전을 확인해보자 

 

npm -v ,node -v를 터미널에 명령한 모습

 

 사용

사용 하는 방법도 어렵지 않다. 터미널을 키고 .js파일이 있는 경로로 이동하고 실행 시킬 .js파일 앞에. node를 붙여주고 실행시키면 로직이 수행 된다.  

node.js로 test.js파일을 실행한 결과

 

(명령어 cd는 현재있는 경로를 이동시켜주며, ls는 현재 경로에 있는 파일과 폴더를 보여준다.)

 

 

반응형
Comments