node cli
2023-03-09
Node.js는 커맨드라인에서 실행할 수 있는 JavaScript 런타임으로, CLI(Command Line Interface)에서 인자를 전달하여 실행할 수 있습니다. 이를 위해 Node.js는 process 객체를 제공하며, 이 객체를 통해 인자를 전달할 수 있습니다.
process 객체의 argv 속성은 CLI에서 입력된 모든 인자를 배열로 나타냅니다. 첫 번째 인자는 Node.js 실행 파일의 경로이며, 두 번째 인자부터는 사용자가 입력한 인자가 차례대로 나열됩니다.
예를 들어, 다음과 같은 명령어를 사용하여 “app.js” 파일을 실행하면서 “hello”와 “world”라는 인자를 전달할 수 있습니다.
node app.js hello world
이 경우, process 객체의 argv 속성은 다음과 같은 배열로 나타납니다.
[ '/usr/bin/node', '/path/to/app.js', 'hello', 'world' ]
따라서, Node.js 코드에서 argv 속성을 사용하여 인자를 전달받을 수 있습니다. 예를 들어, 다음과 같은 코드를 작성하면 process.argv 배열에서 인자를 추출하여 사용할 수 있습니다.
// app.js 파일
const args = process.argv.slice(2);
console.log(args); // ['hello', 'world']
위 코드에서 process.argv 배열에서 첫 번째와 두 번째 요소를 제외한 나머지 요소를 추출하기 위해 slice() 메서드를 사용합니다. 그리고 추출된 인자를 배열 형태로 출력합니다.
Node.js에서는 yargs나 commander와 같은 패키지도 제공되며, 이를 사용하면 보다 쉽고 편리하게 CLI에서 인자를 전달할 수 있습니다. 이러한 패키지들은 인자를 파싱하고 처리하기 위한 다양한 기능을 제공하며, 유지보수가 용이한 코드를 작성할 수 있도록 도와줍니다.