Node.js에서 명령줄 인수 전달
새로운 시리즈인 Junior JavaScript Jobhunting: Quick Tips for Technicals and Takehomes에 오신 것을 환영합니다! 최근에 부트캠프를 졸업한 저는 주니어 개발자 직책에서 JavaScript 기술 문제와 관련된 몇 가지 경험을 공유하고 싶었습니다. (나는 "주니어"라는 표현을 좋아하지 않지만 ... 그 제목의 두운에 어떻게 저항 할 수 있습니까?)
이 시리즈의 Part 1을 소급하여 만들었습니다. 바로 2부로 넘어가겠습니다.
Node.js에서 명령줄 인수 전달
몇 가지 도전 과제에서 저는 명령줄에서 하나 이상의 인수를 허용하는 애플리케이션을 생성하라는 요청을 받았습니다. 일반적으로 파일 이름 또는 YYYY-MM-DD와 같은 특정 형식으로 형식이 지정된 날짜를 전달하는 것과 관련됩니다.
명령줄 인수에 액세스할 수 있는 속성인
process.argv
에 대한 Node.js documentation 을 살펴보겠습니다.The
process.argv
property returns an array containing the command line arguments passed when the Node.js process was launched. The first element will beprocess.execPath
. Seeprocess.argv0
if access to the original value ofargv[0]
is needed. The second element will be the path to the JavaScript file being executed. The remaining elements will be any additional command line arguments.
시원한! 따라서
process.argv
는 코드를 실행하는 데 사용되는 명령줄 인수의 문자열을 포함하는 배열입니다. $ node app.js
및 console.log(process.argv)
를 실행하여 결과를 확인합니다.$ node app.js
// console.log(process.argv)
[ '/Users/isalevine/.nvm/versions/node/v11.10.0/bin/node',
'/Users/isalevine/coding/nodejs/csv-parse-practice/app.js' ]
process.argv[0]
는 Node.js의 경로를 보여주고 process.argv[1]
는 우리가 실행한 app.js
파일의 경로를 보여줍니다. 둘 다 문자열로 액세스할 수 있습니다.이제 로컬 .csv 파일의 파일 이름과 같은 추가 인수를 추가할 수 있습니다.
$ node app.js example_data.csv
// console.log(process.argv)
[ '/Users/isalevine/.nvm/versions/node/v11.10.0/bin/node',
'/Users/isalevine/coding/nodejs/csv-parse-practice/app.js',
'example_data.csv' ]
배열에 새 문자열이 있습니다.
process.argv[2]
는 우리가 제공한 파일 이름입니다. 원하는 만큼 인수를 계속 추가할 수 있습니다!$ node app.js example_data.csv 2019-01-01 and_so_on and_so_on_again and_so_on_some_more
// console.log(process.argv)
[ '/Users/isalevine/.nvm/versions/node/v11.10.0/bin/node',
'/Users/isalevine/coding/nodejs/csv-parse-practice/app.js',
'example_data.csv',
'2019-01-01',
'and_so_on',
'and_so_on_again',
'and_so_on_some_more' ]
process.argv
사용에 대한 또 다른 좋은 점은 process
개체와 해당 속성 및 콘텐츠(예: .argv
)를 코드가 실행되는 즉시 사용할 수 있고 전역적으로 액세스할 수 있다는 것입니다. 다시, from the Node.js docs :The
process
object is aglobal
that provides information about, and control over, the current Node.js process. As a global, it is always available to Node.js applications without usingrequire()
.
매우 편리합니다! 이제 가서 명령줄 인수 전달 혼란을 일으키십시오!
그리고 여기에 있는 동안
process
또는 Node.js 명령줄 인수에 대한 설명을 자유롭게 남겨주세요.
Reference
이 문제에 관하여(Node.js에서 명령줄 인수 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/isalevine/passing-command-line-arguments-in-node-js-38i5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)