스택큐힙리스트

Node.js 프로그램에 명령 줄 인수를 전달하는 방법은 무엇인가요? 본문

카테고리 없음

Node.js 프로그램에 명령 줄 인수를 전달하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 14. 14:15
반응형

나는 Node.js로 작성된 웹 서버를 보유하고 있으며, 특정 폴더에서 이를 실행하고 싶습니다. 자바스크립트에서 인수에 액세스하는 방법을 모르겠습니다. 나는 다음과 같이 노드를 실행하고 있습니다.

$ node server.js folder

여기 서버 코드 server.js 있습니다. Node.js 도움말에 따르면 이것이 가능합니다.

$ node -h

Usage: node [options] script.js [arguments]

어떻게하면 JavaScript에서 해당 인수에 액세스 할 수 있나요? 어떻게 찾아도 웹에서 이 정보를 찾을 수 없었습니다.

답변 1

표준 방법 (라이브러리 없음)

인수는 process.argv에 저장됩니다.

여기에 the node docs on handling command line args:가 있습니다.

process.argv는 명령 줄 인수를 포함하는 배열입니다. 첫 번째 요소는 'node'이고 두 번째 요소는 JavaScript 파일 이름입니다. 다음 요소는 추가 명령 줄 인수일 수 있습니다.

// print process.argv

process.argv.forEach(function (val, index, array) {

console.log(index + ': ' + val);

});

이것은 생성됩니다.

$ node process-2.js one two=three four

0: node

1: /Users/mjr/work/node/process-2.js

2: one

3: two=three

4: four

답변 2

Node.js를 사용하여 프로그램을 실행할 때 명령줄 인수를 전달하는 것은 매우 유용합니다. 커맨드 라인 인수는 프로그램의 실행 방법을 제어하는 데 사용됩니다.

Node.js에서 커맨드 라인 인수를 사용하는 방법은 간단합니다. process.argv 변수를 사용하여 인수를 검색할 수 있습니다. process.argv는 배열이며 첫 번째 요소는 실행 중인 Node.js 프로그램을 나타내는 문자열입니다. 두 번째 요소부터는 명령줄에 전달된 모든 인수가 순서대로 포함됩니다.

예를 들어, 다음과 같은 코드를 작성하여 명령줄에서 전달된 문자열 인수를 출력할 수 있습니다.

```

// index.js

console.log('Command line arguments:', process.argv.slice(2));

```

위 코드를 실행하면 다음 결과가 출력됩니다.

```

$ node index.js argument1 argument2 argument3

Command line arguments: [ 'argument1', 'argument2', 'argument3' ]

```

위 코드에서 slice(2) 메서드는 배열에서 첫 번째 요소와 두 번째 요소를 제외한 나머지 요소를 선택합니다. 이렇게 하면 첫 번째 요소에서는 Node.js의 실행 경로가, 두 번째 요소에서는 실행중인 스크립트 파일의 경로가 포함되기 때문입니다.

따라서, Node.js를 사용하여 프로그램을 실행할 때 명령줄 인수를 사용하는 방법을 이해하는 것은 매우 중요합니다. 이를 통해 더욱 정교한 프로그래밍을 할 수 있으며, Node.js의 기능을 더욱 활용할 수 있습니다.

반응형
Comments