Node.js

Ramne·2021년 7월 28일

What's Node.js?

로컬 환경에서 자바스크립트를 실행할 수 있는 자바스크립트 런타임

What's module?

어떤 기능을 조립할 수 있는 형태로 만든 부분입니다.
fs(File System) 모듈은, PC의 파일을 읽거나 저장하는 등의 실행을 도와준다.

파일을 읽을 때 readFile
파일을 저장할 때 writeFile

모듈을 사용하기 위해 불러오는 과정

<script src="불러오고싶은_스크립트.js"></script>
// HTML에서 JavaScript 파일을 불러오는 script 태그

Node.js 에서는 js코드 맨 위에 require 구문을 이용해 다른 파일을 불러온다.

const fs = require('fs'); // 파일 시스템 모듈을 불러옴
const dns = require('dns'); // DNS 모듈을 불러옴
// 이제 fs.readFile 메소드 등을 사용할 수 있다!

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

해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈(built-in module)이 아닌 모든 외부 모듈
npm에서 다운받아 설치하면 내장 모듈처럼 require 구문을 통해 사용가능하다.

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

메소드 fs.readFile 은 비동기적으로 파일 내용 전체를 읽는다.
실행할 때 path, options, callback 인자 세 개를 넘길 수 있다.

  • path \ string | Buffer | URL | integer \
    path에는 파일 이름을 인자로 넘긴다.
    네 가지 타입 중 일반적으로 문자열(string) 타입으로 넘긴다.
  • options \ Object | string \
    options는 객체 형태 또는 문자열로 넘길 수 있는데 optional으로 선택적 인자다.

    If no encoding is specified, then the raw buffer is returned.
    If options is a string, then it specifies the encoding.
    선택적 인자라 하더라도 buffer로 읽혀지는 데이터를 인코딩하기 위해서는 'utf8'이 필수다.

  • callback \ Function(err, data) \
    파일을 읽고 난 후에 비동기적으로 실행되는 함수인 콜백 함수를 전달한다.
    콜백 함수에는 err, data 두 가지 파라미터를 가지는데,
    에러가 없다면 err는 null, 파일 내용 data(문자열 or Buffer객체)가 전달된다.
const getDataFromFile = function (filePath, callback) {
  fs.readFile(filePath, 'utf8', (err, data) => {
    if (err) return callback(err, null);
    return callback(null, data);
  });;
  };
profile
💡

0개의 댓글