앞서 만든 파일은 터미널에서 문자열을 출력하는 아주 간단한 프로그램입니다.
그러나 복잡한 프로그램을 만들기 위해서는 여러 개의 자바스크립트 파일이 필요합니다. 왜 여러 개의 파일이 필요할까요? 옷을 구매할 수 있는 쇼핑몰 프로그램을 만든다고 가정해 봅시다. 이 쇼핑몰 프로그램에는 아마도 구매, 장바구니, 회원가입 등과 같은 여러 복잡한 기능들이 필요할 겁니다. 이 기능들을 구현하는 코드를 파일 하나에 모두 작성한다면 코드 길이가 너무 길어집니다.
작성할 때는 문제가 되지 않을 수도 있지만, 수정을 위해 다시 파일을 연다면 수정할 부분을 찾아 한참을 스크롤해야 할지 모릅니다.
일반적으로 복잡한 프로그램을 구현할 때는 기능별로 파일을 나누어 작성합니다. 하나의 프로젝트에서 여러 자바스크립트 파일을 Node.js 를 이용해 실행할 때는 패키지(Package) 형태로 구성합니다. 패키지는 Node.js 에서 여러 개의 자바스크립트 파일을 실행하고 관리하는 일종의 관리 단위입니다.
패키지 만들기
이번에는 Node.js 패키지를 직접 만들겠습니다. 앞서 언급했듯이 이 패키지는 여러 파일을 마치 하나의 파일처럼 다룰 수 있게 해주는 관리 단위입니다. 그런데 패키지 단위로 여러 파일을 관리하려면 최상위 폴더인 '루트 폴더' 가 필요합니다. chapter3 이라는 폴더를 루트 폴더로 이요하겠습니다.
패키지를 생성하려면 npm 을 이용해야 합니다. npm 은 Node Package Manager 의 약자로, Node.js 패키지를 관리하는 도구라고 했습니다. npm 에서는 패키지를 관리하기 위한 유용하고 간편한 명령어와 기능들을 제공합니다.
터미널에서 다음 명령어르 입력합니다.
npm init
npm init 는 Node.js 패키지를 초기화하는 명령어입니다. 초기화란 Node.js 패키지를 구성하는 데 필요한 최소한의 구성 요소를 자동으로 생성하는 과정입니다.
npm init 를 실행하면 패키지 이름을 입력하고 프롬프트가 나타납니다.
폴더 이름과 동일하게 chapter3 을 입력하고 <Enter> 키를 누릅니다.
패키지 이름을 입력하고 나면 버전, 설명 등의 패키지 구성에 필요한 사항을 계속 물어봅니다. 어떤 텍스트도 입력하지 않고 모든 물음에 대해 <Enter> 키를 누릅니다.
구성을 완료하면 Is This OK? 라는 문구와 함께 설정할 패키지의 속성들을 보여줍니다. yes 를 입력하고 <Enter> 키를 눌러 패키지 초기화를 완료합니다.
패키지 구성이 완료되면 비쥬얼 스튜디오코드 탐색기 창 루트 폴더(chapter3) 아래에 package.json 이라는 파일이 생성됩니다.
초기화된 패키지의 package.json 에는 기본적으로 다음 항목들이 존재합니다.
- naem: 패키지 이름
- version: 패키지 버전
- description: 패키지 설명(보통 패키지로 구성한 프로그램의 목적을 작성)
- main: 패키지의 소스 코드 파일 중 역할을 담당하는 소스 코드 파일
- scripts: 패키지를 쉽게 다루기 위해 지정한 매크로 명령어
- author: 패키지를 만든 사람
- license: 패키지의 라이선스
이렇듯 package.json 은 패키지의 메타 정보를 저장하는 파일입니다. Node.js 는 package.json 에서 패키지 정보를 확인해 적절한 방식으로 프로그램을 가동합니다.
패키지 스크립트 이용하기
Node.js 패키지의 package.json 에는 scripts 라는 항목이 있습니다. 이 scripts 항목은 복잡한 명령어를 간단한 명령어로 변경하는 일종의 매크로 기능을 지원합니다.
scripts 항목을 직접 수정하고 사용해 보겠습니다. 현재 패키지의 루트 폴더 아래에 index.js 라는 파일을 생성하고 다음과 같이 코드를 작성합니다. 앞서 비쥬얼 스튜디오 코드 사용법에서 배운 대로 새 파일 아이콘(새파일.png) 을 클릭해 파일을 생성하면 됩니다.
console.log("index run");
현재 루트 폴더의 파일 구성은 다음과 같아야 합니다.
CHAPTER3
- index.js
- package.json
- sample.js
작성한 index.js 를 실행하기 위해서는 node 명령어와 함께 경로를 명시해야 합니다. 그러나 package.json 의 scripts 항목을 이용하면 아주 간단하게 index.js 를 실행할 수 있습니다. package.json 의 scripts 항목을 다음과 같이 수정합니다.
{
(...)
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
(...)
}
원래는 앞서 작성한 index.js 파일을 실행하려면 터미널에서 node ./index.js 라고 입력해야 합니다. 그러나 간단하게 명령을 내릴 수 있도록 package.json 의 scripts 항목에 start 를 새롭게 추가했습니다. 다음 명령어를 터미널에서 입력합니다.
npm run start
npm run 명령은 뒤에 나오는 스크립트를 실행합니다. 즉, npm run start 를 입력하면 package.json 에 기록한 scripts 에서 일치하는 명령어를 찾아 실행합니다. start 항목에 node index.js 라고 지정했기 때문에 해당 명령어를 실행합니다.
index.js 가 실행되어 터미널에서 문자열 index run 을 출력합니다.
'React.js > 한 입 크기로 잘라먹는 React.js' 카테고리의 다른 글
라이브러리 사용하기 (0) | 2023.05.17 |
---|---|
Node.js 모듈 시스템 (0) | 2023.05.17 |
Node.js 환경 설정하기 (0) | 2023.05.16 |
Node.js 란? (0) | 2023.05.15 |
리액트를 배워야 하는 이유 (0) | 2023.05.15 |