Node.js에서 명령줄 앱 만들기: 인수 구문 분석
6475 단어 tutorialjavascriptnpmnode
1부에서는 노드 앱을 CLI처럼 실행하는 방법에 대해 배웠습니다. 이 게시물에서는 명령줄 앱에서 인수 구문 분석에 대해 알아봅니다.
CLI에서 인수 구문 분석이란 무엇입니까?
git 및 yarn 와 같은 CLI를 사용한 적이 있다면 CLI 명령의 접미사로 --flag를 전달해야 한다는 것을 알고 있습니다.예를 들어
npm install . 여기서 install는 노드 패키지 관리자에게 패키지를 설치하도록 지시하는 npm 명령에 전달된 인수입니다.마찬가지로 CLI가 제대로 작동하려면 미리 정의된 다른 인수('매개변수'라고도 함) 집합이 필요할 수 있습니다. CLI에서 다양한 작업과 기능을 수행하는 데 자주 사용됩니다.
Node.js의 인수 구문 분석
index.js ... console.log(process.argv)
$ node index.js wow this is an argument
# Output 👇
[ 'node',
'/home/username/Desktop/index.js',
'wow',
'this',
'is',
'an',
'argument' ]
이제 출력을 사용하여 전달된 인수를 감지하고 그에 따라 CLI가 작동하도록 할 수 있습니다.
더 나은 인수 구문 분석
process.argv 어떤 인수가 전달되는지 알기 위한 가장 기본적인 코드 라인입니다.CLI에서는 사용자가 특정 작업을 수행하기 위해 명령 조합을 사용하도록 해야 합니다. 예를 들어
npm install -g bulk-mail-cli . 여기서 install는 인수로, -g ( --global )는 플래그로 전달됩니다.CLI에서 모든 조합이 수행할 작업을 계산하는 것은 많은 작업이 될 수 있습니다. 따라서 인수 구문 분석 및 탐지를 위해 검증된 라이브러리를 사용하는 것이 좋습니다.
인수 및 플래그를 구문 분석하는 라이브러리.
Commander (이쪽을 추천합니다)
사령관
Commander가 어떻게 작동하는지 봅시다. 1부에서는 데모 CLI 프로젝트를 만들었습니다. 동일한 코딩 프로젝트의 index.js 코딩을 계속하십시오.The tutorial below will be relevant only if you have read Part 1 of the series.
모듈을 정의합니다.
const commander = require('commander')
프로그램에서 사용하려면 다음 코드를 붙여넣으세요...
commander
.version('v0.0.1')
.description('This is a dummy demo CLI.')
.option('-n, --name <type>', 'To input a name')
.option('demo', 'To output demo')
.parse(process.argv)
위의 코드 줄은 이제
--version , -n , --name , demo 인수를 구문 분석하고 읽는 데 도움이 됩니다.인수 읽기
인수를 읽으려면 이제 다음을 수행하면 됩니다.
// Runs only if `name` argument is passed with a `<type>`...
if (commander.name) console.log(`Your name is ${commander.name}.`)
// Runs only if `demo` argument is passed...
if (commander.demo) console.log(`This is a DEMO.`)
사용해 보세요!
1부에서 계속 진행했다면
package.json가 이미 생성된 것입니다. cd 코드가 저장된 디렉토리에서 터미널에서 다음을 실행하십시오 ...$ thisDemoCli demo
This is a DEMO.
$ thisDemoCli --name "Kumar Abhirup"
Your name is Kumar Abhirup.
$ thisDemoCli --version
v0.0.1
만세! 이제 인수를 성공적으로 구문 분석하고 이것으로 뭔가를 하고 있습니다!
이 기사가 Node.js에서 명령줄 앱이 작동하는 방식에 대한 기본 사항을 이해하는 데 도움이 되기를 바랍니다.
나에 대해서
저는 매일 새로운 것을 계속 배우고 있는 인도의 16세 JavaScript React 개발자 Kumar Abhirup입니다.
My personal website and portfolio 🖥️
더 나은 방법과 이 기사를 개선하기 위한 제안 아래에 댓글을 작성하십시오. :)
Reference
이 문제에 관하여(Node.js에서 명령줄 앱 만들기: 인수 구문 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kumareth/creating-a-command-line-app-in-node-js-argument-parsing-40ph
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Node.js에서 명령줄 앱 만들기: 인수 구문 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kumareth/creating-a-command-line-app-in-node-js-argument-parsing-40ph텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)