9월 1일 (수) Node.js 모듈 사용법

남이섬·2021년 9월 1일
0
post-custom-banner

Node.js에 대해서

As an asynchronous event-driven JavaScript runtime
=> 비동기 이벤트 기반 자바스트립트 런타임
Node.js is designed to build scalable network applications
=> Node.js는 확장가능한 네트워크 어플리케이션으로 디자인 되었다

Node.js 공식 홈페이지

Node.js는 로컬 환경에서 자바스크립트를 실행할 수 있는 자바스크립트 런타임이다.
Node.js는 브라우저에서 불가능한 몇 가지 일이 가능하다

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

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

Node.js v14.17.6 documentation

fs.readFile 모듈

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

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

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

  • path \<'string'> | \<'Buffer'> | \<'URL'> | \<'integer'>
    path에는 파일 이름을 인자로 넘길 수 있다. 네 가지 종류의 타입을 넘길 수 있지만 일반적으로 문자열()의 타입으로 넘긴다.

  • options \<'Object'> | \<'string'>
    대괄호로 감싼 두 번째 인자 options는 넣을 수도 있고, 넣지 않을 수도 있다.
    대괄호는 선택적 인자를 의미한다.
    options는 객체 형태 또는 문자열로 넘길 수 있다. 문자열로 전달할 경우 인코딩을 넘긴다.
    ex) 'utf8' 을 사용 (글자를 표현하는 방식 중 하나)
    utf8 - 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나

  • callback \<'Function'>

    • err \<'Error'>
    • data \<'string'> | \<'Buffer'>

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

    질문: data 에는 문자열이나 Buffer 가 전달됩니다. 어떤 경우에 문자열로 전달되는 것일까?

    • incoding을 설정하지 않으면 raw buffer가 전달 된다.

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

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

예를 들어, Node.js에서 underscore는 Node.js 공식문서에 없는 모듈이기 때문에 써드 파티 모듈이다.

써드 파티 모듈은 npm을 통하여 따로 설치 후 사용이 가능하다

profile
즐겁게 살자
post-custom-banner

0개의 댓글