(JS)Node.js

trina lee·2023년 5월 7일

Node.js

  • 비동기 이벤트 기반 JavaScript 런타임이다.

  • Node.js는 JavaScript 코드 가장 상단에 require 구문을 이용하여 다른 파일을 불러온다.

const fs = require('fs'); // 파일 시스템 모듈을 불러옵니다
const dns = require('dns'); // DNS 모듈을 불러옵니다

// 이제 fs.readFile 메서드 등을 사용할 수 있습니다!

- Node.js 내장 모듈

-Node.js 내장 모듈 목록
-파일을 읽거나 저장하는 기능 등을 제공하는 Node.js 내장 모듈은 File System 모듈이다.
-파일을 읽을 때는 readFile 메서드, 파일을 저장할 때는 writeFile 메서드를 사용한다.

- 서드 파티 모듈 (3rd-party module)

-서드 파티 모듈(3rd-party module)은 해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈(built-in module)이 아닌 모든 외부 모듈을 일컫는다.
-예를 들어, Node.js에서 underscore는 Node.js 공식 문서에 없는 모듈이기 때문에 서드 파티 모듈이다.
-underscore와 같은 서드 파티 모듈을 다운로드하기 위해서는 npm을 사용해야 합니다.

-터미널에서 다음과 같이 입력해 underscore를 설치할 수 있습니다.

npm install underscore

-이제 node_modules에 underscore가 설치되었습니다. 이제 Node.js 내장 모듈을 사용하듯 require 구문을 통해 underscore를 사용할 수 있습니다.

const _ = require('underscore');

- Node.js 공식 문서를 활용하여 fs.readFile을 이용

-메서드 fs.readFile은 로컬에 존재하는 파일을 읽어온다.

-메서드 fs.readFile은 비동기적으로 파일 내용 전체를 읽는다. 이 메서드를 실행할 때에는 전달인자 세 개를 받는다.

fs.readFile(path[, options], callback)

-path에는 파일 이름을 전달인자로 받는다.
-options는 문자열 또는 객체 형태로 받을 수 있다.
문자열로 전달할 경우 인코딩을 받는다.
-콜백 함수를 전달한다. 파일을 읽고 난 후에 비동기적으로 실행되는 함수이다.
콜백 함수에는 두 가지 매개변수가 존재한다. 에러가 발생하지 않으면 err는 null 이 되며, data에 문자열이나 Buffer라는 객체가 전달된다. data는 파일의 내용이다.

fs.readFile('test.txt', 'utf8', (err, data) => {
  if (err) {
    throw err; // 에러를 던집니다.
  }
  console.log(data);
});

Node.js에서는 파일을 읽는 비동기 함수를 제공합니다. 이를 통해 callback과 Promise를 구현해 보자.

profile
지금은 개발 모드

0개의 댓글