Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

Node.js process.argv 완벽 가이드 – 명령줄 인수 확인 방법

process.argv는 Node.js 프로세스가 시작될 때 전달된 모든 명령줄 인수(command-line arguments)를 배열 형태로 반환하는 속성입니다. 이 배열의 첫 번째 요소는 항상 process.execPath와 동일한 값, 즉 Node.js 실행 파일의 경로를 담고 있습니다.

기본 문법

process.argv

매개변수

process.argv는 별도의 매개변수를 필요로 하지 않습니다. Node.js 프로세스 실행 시 전달된 모든 명령줄 인수를 자동으로 수집하여 반환하기 때문에 사용자의 추가 입력 없이 바로 사용할 수 있습니다.

반환 값 구조

process.argv가 반환하는 배열은 일반적으로 다음과 같은 구조를 가집니다.

  • 첫 번째 요소: Node.js 실행 파일의 경로 (process.execPath와 동일)
  • 두 번째 요소: 현재 실행 중인 JavaScript 파일의 경로
  • 세 번째 요소부터: 실제로 사용자가 전달한 추가 인수들

예제 1 – 기본 사용법

먼저 argv.js라는 이름의 파일을 생성하고 아래 코드를 작성합니다. 그런 다음 터미널에서 다음 명령어로 코드를 실행할 수 있습니다.

node argv.js

argv.js

// process.argv 사용 예제

// process 모듈 불러오기
const process = require('process');

// process.argv 속성 값 출력
console.log(process.argv);

실행 결과

C:\home\node>> node argv.js
[ '/usr/bin/node',
'/home/node/test/process.js' ]

출력 결과에서 첫 번째 요소는 Node.js 실행 파일 경로이고, 두 번째 요소는 실행된 스크립트 파일의 경로임을 확인할 수 있습니다.

예제 2 – 인수 개수 확인 및 순회

이번에는 반환된 배열의 길이(인수 개수)를 확인하고, 각 인수를 순서대로 출력하는 예제입니다.

// process.argv 사용 예제

// process 모듈 불러오기
const process = require('process');

// process.argv 속성 값 가져오기
var args = process.argv;

console.log("총 인수 개수: " + args.length);
args.forEach((val, index) => {
    console.log(`${index}: ${val}`);
});

실행 결과

C:\home\node>> node argv.js
총 인수 개수: 2
0: /usr/bin/node
1: /home/node/test/process.js

정리

process.argv는 Node.js에서 명령줄 인수를 다룰 때 가장 기본적이면서도 필수적인 도구입니다. 스크립트 실행 시 설정값을 외부에서 주입하거나, CLI 도구를 만들 때 유용하게 활용할 수 있습니다. 더 복잡한 인수 파싱이 필요하다면 yargs나 commander 같은 전용 라이브러리 사용도 고려해 보세요.