"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Node.js 기본 - 알아야 할 필수 사항

Node.js 기본 - 알아야 할 필수 사항

2024-11-02에 게시됨
검색:816

Node.js Basics - Essential Things to Know

컨셉 하이라이트:

  1. Node.js 전역
  2. Node.js 모듈
  3. 경로 모듈
  4. 프로세스 객체
  5. 입력 및 출력 처리
  6. 파일 관리 및 스트림

1. Node.js 전역

Node.js에는 require() 없이 애플리케이션 어디에서나 사용할 수 있는 여러 전역 객체와 기능이 함께 제공됩니다. 주요 전역 객체 중 일부는 다음과 같습니다:

  • __dirname: 현재 모듈의 디렉터리 이름입니다.
  • __filename: 현재 파일의 전체 경로입니다.
  • setTimeout(), clearTimeout(), setInterval(), clearInterval(): 비동기 타이밍 관리를 위한 함수.

예)

console.log(__dirname); // outputs the current directory
console.log(__filename); // outputs the full path of the current file 

2. Node.js 모듈

Node.js는 코드가 더 작고 재사용 가능한 모듈로 나누어지는 모듈식 구조를 따릅니다. require() 함수를 사용하여 내장 모듈이나 사용자 정의 모듈을 로드할 수 있습니다.

예) Node.js에는 세 가지 유형의 모듈이 있습니다:

  1. 핵심 모듈: fs, http, path와 같은 Node.js에서 제공됩니다.
  2. 타사 모듈: express나 lodash와 같은 npm을 통해 설치됩니다.
  3. 사용자 정의 모듈: 코드를 구성하기 위해 귀하가 생성했습니다.
const fs = require('fs'); // Require the built-in file system module

3. 경로 모듈

Node.js의 경로 모듈은 파일 및 디렉터리 경로 작업을 위한 유틸리티를 제공합니다. 경로 구분 기호(Windows의 경우 \)는 운영 체제마다 다를 수 있으므로 코드를 플랫폼 독립적으로 만드는 데 특히 유용합니다.

예) 경로 모듈의 주요 메소드:

  • path.join()는 여러 경로 세그먼트를 하나로 결합합니다.
  • path.basename() 경로의 마지막 부분(일반적으로 파일 이름)을 반환합니다.
  • paht.extname()는 파일 확장자를 반환합니다.
const path = require('path');

const filePath = path.join(__dirname, 'folder', 'file.txt');
console.log(filePath); // Combines the paths to create a full file path

4. 프로세스 객체

Node.js의 프로세스 객체는 현재 Node.js 프로세스에 대한 정보와 제어를 제공합니다. 런타임 환경과 인터넷을 연결할 수 있게 해주는 전역 개체입니다.

예) 일부 유용한 속성 및 처리 방법은 다음과 같습니다.

  • process.argv: Node.js 프로세스에 전달된 인수입니다.
  • process.env: 환경 변수.
  • process.exit(): 프로세스를 종료합니다.
console.log(process.argv); // Returns an array of command-line arguments
console.log(process.env); // Accesses environment variables

5. 입력 및 출력 처리

Node.js는 특히 표준 입력 및 출력 작업을 위한 프로세스 객체를 통해 입력 및 출력을 처리하는 간단한 방법을 제공합니다.

예) 이 예에서는 사용자 입력을 수신하여 콘솔에 기록합니다. 고급 I/O 처리를 위해 전체 I/O를 한 번에 메모리에 로드하는 대신 데이터를 하나씩 처리할 수 있는 스트림을 사용할 수도 있습니다.

process.stdin.on('data', (data) => {
  console.log(`You typed: ${data}`);
});

6. 파일 관리 및 스트림

파일 관리는 많은 Node.js 애플리케이션의 중요한 부분이며 Node의 fs(파일 시스템) 모듈은 파일 시스템을 사용하는 다양한 방법을 제공합니다. 비동기식 또는 동기식 API를 사용하여 파일을 읽고, 쓰고, 관리할 수 있습니다.

예)

const fs = require('fs');

// Asynchronous file reading
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

// Writing to a file
fs.writeFile('output.txt', 'This is some content', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

Node.js에는 대용량 데이터를 효율적으로 처리하는 데 사용되는 스트림 작업을 위한 강력한 시스템도 있습니다. 스트림은 파일 읽기/쓰기 또는 네트워크 통신 처리에 자주 사용됩니다.

const fs = require('fs');

const readStream = fs.createReadStream('example.txt');
const writeStream = fs.createWriteStream('output.txt');

readStream.pipe(writeStream); // Piping data from one file to another
릴리스 선언문 이 글은 https://dev.to/ryoichihomma/nodejs-basics-3lnm?1 에서 복제하였습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3