안녕하세요, 오늘은 Node.js를 활용해서 커맨드라인(CLI : Command Line Interface)에서 돌아가는 아주 간단한 애플리케이션을 작성해보도록 하겠습니다.
먼저 npm init을 통해 혹은 수동으로 package.json 파일을 생성해줍니다. 혹시 node 설치 및 프로젝트 설정방법이 필요하시면 아래 포스팅을 참고해주세요~
[[IT] Node.JS] - [Node.js 개발환경] Node.js 및 VS code 설치, Node.js 초기 프로젝트 생성 및 실행
package.json
{
"name": "clitest",
"version": "1.0.0",
"main": "cli.js",
"bin":{
"clitest": "./cli.js"
},
"scripts": {
"start": "node ./cli.js"
}
}
여기서 중요한 것은 "bin" 속성인데, { "실행 명령어" : "실행 js 파일" } 을 작성하여, npm install -g을 통해 전역에 설치를 하였을 때, 실행을 할 수 있는 임의의 명령어와 그때 실행되는 파일명을 입력해줍니다.
나머지 값은 기본 프로젝트 정보이며, 필수 값은 아닙니다.
cli.js
package.json과 같은 폴더에 cli.js 파일을 생성한 후 아래와 같이 작성하였습니다.
#!/usr/bin/env node
(() => {
console.log('\x1b[31m%s\x1b[0m', '[clitest Start] 시작합니다.');
console.log('\x1b[32m%s\x1b[0m',"process.argv[0]: " + process.argv[0]);
console.log('\x1b[33m%s\x1b[0m',"process.argv[1]: " + process.argv[1]);
let result = Number(process.argv[2]) + Number(process.argv[3]);
console.log('\x1b[34m%s\x1b[0m', '[Result] arg1 + arg2 = ', result);
})();
#!/usr/bin/env node : 맨 위의 주석으로 되어있는 부분은 윈도우 OS에서는 불필요하지만, 리눅스 등에서 CLI 프로그램에서 node 위치를 지정하기 위한 필수 문구입니다.
(() => { })() : js 파일 실행 시 수행될 메서드를 정의하여 위와 같이 아주 간단하게 CLI 어플리케이션을 작성합니다.
process.argv[0]을 출력해보면 node의 실행파일, process.argv[1]은 실행되는 js 파일임을 알 수 있습니다.
실행 및 결과
먼저 아래의 명령으로 작성한 CLI 프로그램 실행이 가능합니다. CMD 등 터미널에서 현재 프로젝트 위치로 이동하여, "node .\cli.js 매개변수1 매개변수2" 와 같이 입력하면 실행됩니다.
node .\cli.js 1 2
전역 설치를 통한 실행은 아래와 같습니다. 아래의 명령으로 전역 설치를 진행합니다.
npm i -g
위의 package.json의 bin에 작성한 명령어로 아래와 같이 실행합니다.
clitest 1 2
실행 결과로 아래와 같이 매개변수 1과 2의 합인 3이 콘솔 로그로 정상적으로 출력되는 것을 확인할 수 있습니다.
'[IT] Node.JS' 카테고리의 다른 글
[Node.js] API 전송 (request) 및 결과 Text 비교 (git-diff) (0) | 2022.12.23 |
---|---|
[Node.js] Express Rest API + Puppeteer 웹크롤링 서비스 VSCode Docker 이미지 생성 및 실행 (0) | 2022.03.09 |
[Node.js] Express 설치, 프로젝트 생성 및 Rest API 서버 만들기 (+웹크롤링 데이터 전달) (0) | 2022.03.02 |
[Node.js 개발환경] Node.js 및 VS code 설치, Node.js 초기 프로젝트 생성 및 실행 (0) | 2021.12.23 |
댓글