2023. 2. 25. 00:37ㆍ카테고리 없음
JavaScript 런타임(runtime)
우리는 이미 JavaScript 런타임을 사용하고 있습니다. 크롬, 사파리 같은 웹 브라우저가 바로 JavaScript 런타임입니다
런타임이란 프로그래밍 언어가 구동되는 환경입니다. 런타임 이란 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳입니다. 우리가 JavaScript를 이용해서 코드를 적었으면 코드가 실행됩니다. 이 때, 실행되는 곳이 바로 런타임입니다.
웹 브라우저가 대표적인 JavaScript 런타임입니다. 이전에는 JavaScript 런타임이 웹 브라우저 밖에 없었습니다. 그러나 node.js라는 새로운 JavaScript 런타임의 등장으로, JavaScript가 브라우저가 아닌곳에서 실행될 수 있게 되었습니다. node.js의 등장 이후, JavaScript를 이용해서 웹 페이지 뿐만 아니라 서버와 같은 다른 프로그램을 만들 수 있습니다.
node.js 런타임의 등장으로, JavaScript 코드를 브라우저와 node.js 환경 모두에서 실행시킬 수 있습니다. HTML <script> 태그 내에 JavaScript 코드를 작성하면, 이 코드는 웹 브라우저에서 동작합니다. CLI 환경에서 node <file_name> 명령어를 프롬프트에 입력하면 작성한 코드가 node.js라는 런타임에서 실행됩니다.
[코드] runnode.js 파일에 testFunction이라는 함수를 작성
// runnode.js
const testFunction = function(arg){
console.log("Arg is : ", arg);
}
testFunction(20);
runnode.js라는 파일을 만들어, 전달되는 인자를 출력하는 코드를 작성했습니다. 위 파일을 브라우저에서 실행시키려면, html 파일을 만들고 위 파일과 연결하면 됩니다. 이번에는 명령어 node로 실행해보겠습니다. 터미널에서 runnode.js 파일을 생성하고, 위 함수를 붙여넣으세요.
node runnode.js
터미널에서 "Arg is : 20" 이라는 출력을 확인할 수 있습니다. 이렇게 작성한 코드가 어디에서 동작하고 있는지 구분할 수 있습니다.
정리하면 런타임이란, 프로그래밍 언어가 실행되는 환경, 그리고 node.js는 JavaScript 런타임입니다.
- nvm, Nodejs, npm을 설치하고, 버전을 확인
- 명령어 node를 이용해 JavaScript 파일을 실행
- package.json 파일을 확인하고, npm install을 사용
nvm & node.js
JavaScript가 돌아가는 환경이 브라우저와 node.js라고 확인했습니다. node.js에서 JavaScript를 실행시키기 위해서는 node.js를 설치해야 합니다. 별도의 프로그램으로 설치할 수도 있지만, 패키지 매니저처럼 node.js의 버전을 관리할 수 있도록 nvm(Node Version Manager)으로 node.js를 설치합니다. nvm을 사용하면 node.js의 다양한 버전을 쉽게 설치하고, 사용할 수 있습니다. (nvm은 node.js의 다양한 버전을 관리하는 프로그램)
1. nvm 설치
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
[커맨드] wget 명령어로 nvm 설치를 시도합니다.
만일 Command 'wget' not found 메세지와 함께 설치가 진행되지 않는 경우, Package Manager를 이용해 wget을 설치하세요.
# Ubuntu
sudo apt update
sudo apt install wget
2. 설치 확인
nvm --version
3. node.js 설치
nvm은 node.js의 다양한 버전을 쉽게 설치할 수 있습니다. nvm을 설치후, nvm을 이용해 node.js를 설치합니다.
nvm install --lts
[커맨드] nvm 으로 lts 버전의 node.js를 설치합니다.
node -v
[커맨드] node의 버전을 확인합니다.
4.nvm 간단 사용법
nvm ls
현재 nvm을 통해 설치한 node version들이 나옵니다. 특정 버전의 node를 설치하고 싶으면 다음과 같이 입력합니다.
nvm install 12.18.3
사용중인 node version을 다른 버전으로 변경하고 싶을 때에는 아래의 명령어만 입력하면 됩니다.
nvm use 버전넘버 # 예를 들어, nvm use 12.18.3, nvm use 14.15.5
nvm으로 node의 버전을 관리하면, node를 설치하고 version을 바꾸는 일이 편리합니다.
정리하면 nvm은 다양한 node version를 설치하고 관리할 수 있는 프로그램 입니다.
5.npm & package.json
node.js 환경에서 작성한 JavaScript 파일과 npm과 package.json을 실행하는 방법
- node로 js파일 실행하기( 텍스트 에디터 nano를 이용해 새로운 파일을 생성하고, 다음 코드를 입력 )
# helloWorld.js라는 이름의 파일을 텍스트 에디터 nano로 엽니다.
nano helloWorld.js
[커맨드] 텍스트 에디터 nano로 helloWorld.js라는 파일을 생성하고 엽니다.
// 이 코드를 생성한 파일에 입력하세요.
function helloWorld () {
console.log("Hello world!");
}
helloWorld();
//위 코드를 입력했다면, ^X(Ctrl + x)를 눌러 편집을 종료하세요. 터미널 하단에 "Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?" 라는 출력이 나타나면, y(Yes)를 누르고 Enter(엔터 키)를 눌러 파일에 변경사항을 저장하세요.
[코드] Hello world를 출력하는 JavaScript 함수
이어서, 생성한 파일을 실행합니다. 다음 명령어를 입력하고 터미널의 출력을 확인하세요. node.js 환경에서 JavaScript 파일을 실행할 때에는 명령어 node에 실행할 파일의 이름을 입력합니다.
1
2
# helloWorld.js 파일을 node 환경에서 실행합니다.
node helloWorld.js
[코드] Hello world를 출력하는 JavaScript 함수
[그림] HelloWorld.js 파일을 실행한 결과 화면
package.json:
- npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일
- 즉, 프로젝트 전반에 관한 정보가 들어있다
node.js 환경에서 외부 라이브러리를 다운로드하기 위해 다양한 방법이 존재하지만, 그중 대표적인 것은 바로 npm입니다. npm은 Node Package Manager로 일종의 앱스토어입니다. 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어입니다. 리눅스의 패키지 매니저가 apt, macOS의 패키지 매니저가 brew이듯, node.js 생태계의 패키지 매니저는 npm입니다. 앞으로 필요한 모듈은 대부분 npm에서 다운로드해서 사용하면 됩니다.
package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있습니다. 헷갈리면 안 되는 점은 이 프로그램을 실행시키기 위해 필요한 실제 모듈은 따로 node_modules이라는 폴더에 저장된다는 것입니다. package.json에는 어떤 모듈인지만 적혀 있습니다. 즉, 전자제품을 보러 갔을 때 제품 카탈로그가 바로 package.json이라 생각할 수 있습니다. 카탈로그만 보면 어떤 제품이 있는지 파악할 수 있는 것처럼 package.json만 보면 어떤 모듈이 들어가 있는지를 알 수 있습니다.