25일차 (1) - Node.js

dudu00·2022년 11월 24일
0

codestates

목록 보기
22/25
path[, options], callback

여기서 []의 의미는 선택적으로 들어간다는 말 ( 필수 X )

개요

브라우저에서 사용할 수 있는 비동기 흐름은 타이머 혹은 DOM 이벤트와 관련된 상황으로 다소 한정적이지만, Node.js의 경우 많은 API가 비동기로 작성되어 있습니다. Node.js 소개 문서의 첫 단락은 Node.js의 정의부터 시작합니다.
Node.js는 "비동기 이벤트 기반 JavaScript 런타임"입니다.

모듈이 뭔가요? 건축으로부터 비롯된 모듈이라는 단어는, 
어떤 기능을 조립할 수 있는 형태로 만든 부분입니다. 
그 중 fs(File System) 모듈은, PC의 파일을 읽거나 저장하는 등의 일을 할 수 있게 도와줍니다.

- Node.js 내장 모듈을 사용하는 방법

내장 모듈 사이트

  • 파일 시스템 모듈은 파일을 읽거나 저장하는 기능을 구현할 수 있도록 돕습니다

  • 파일을 읽을 때에는 readFile이라는 메서드

  • 파일을 저장할 때에는 writeFile

    모든 모듈은 '모듈을 사용하기 위해 불러오는 과정'이 필요합니다

<script src="불러오고싶은_스크립트.js"></script>

[코드] HTML에서 JavaScript 파일을 불러오는 script 태그

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

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

[코드] Node.js에서 다른 파일을 불러오는 require 구문

- 3rd-party 모듈을 사용하는 방법

서드 파티 모듈(3rd-party module)은 해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈(built-in module)이 아닌 모든 외부 모듈을 일컫습니다.

예를 들어, Node.js에서 underscore는 Node.js 공식 문서에 없는 모듈이기 때문에 서드 파티 모듈입니다.
underscore 와 같은 서드 파티 모듈을 다운로드하기 위해서는 npm을 사용해야 합니다.

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

[커맨드] underscore 모듈을 설치합니다.

  • node_modules에 underscore가 설치되었습니다.
    이제 Node.js 내장 모듈을 사용하듯 require 구문을 통해 underscore 를 사용할 수 있습니다.
const _ = require('underscore');

[코드] Node.js의 3rd-party underscore를 사용할 수 있습니다.

- fs.readFile을 통해 알아보는 Node.js 공식문서 가이드

메서드 fs.readFile 은 로컬에 존재하는 파일을 읽어옵니다.
fs.readFile 설명

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

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

(1) path

  • path에는 파일 이름을 전달인자로 받습니다. 네 가지 종류의 타입을 넘길 수 있지만 일반적으로 문자열()의 타입을 받습니다.
fs.readFile('/etc/passwd', ..., ...)

[코드] '/etc/passwd' 파일을 불러오는 예제

(2) options

  • 대괄호로 감싼 두 번째 전달인자 options는 넣을 수도 있고, 넣지 않을 수도 있습니다. 대괄호는 선택적 전달인자를 의미합니다.
  • options는 문자열 또는 객체 형태로 받을 수 있습니다. 문자열로 전달할 경우 인코딩을 받습니다. 밑의 예제에서는 'utf8' 을 두 번째 전달인자로 받는 것을 확인할 수 있습니다. options를 객체 형태로 받는 것은 두 번째 예제를 참고.

(3) callback 함수

  • 콜백 함수를 전달합니다. 파일을 읽고 난 후에 비동기적으로 실행되는 함수
  • 콜백 함수에는 두 가지 매개변수가 존재합니다. 에러가 발생하지 않으면 err 는 null 이 되며, data 에 문자열이나 Buffer 라는 객체가 전달됩니다. data 는 파일의 내용입니다.

출처 : 유어클래스

profile
성장일지

0개의 댓글