공식문서에 따르면 Node.js는 JavaScript의 비동기 이벤트 기반 런타임이라고 명시되어 있다.
모듈(module)이란 어떤 기능을 떼서 조립할 수 있는 형태로 만든 부분이다.
node.js 내장 모듈 목록은 여기서 찾아볼 수 있다.
node.js 내장 모듈 사용하는 방법
모듈을 사용하기 전 모듈을 불러오는 과정이 필요하다.
그 과정은 자바스크립트 코드 가장 상단에 require 구문을 사용하는 것이다.
const fs = require('fs');
// 파일 시스템 모듈을 불러온다.
const dns = require('dns');
// DNS 모듈을 불러온다.
fs.readFile의 공식 API 문서를 통해 사용법 알아보기.
파일을 읽을 때에는 fs.readFile 메서드를 사용한다.
//fs.readFile 메서드는 비동기적으로 파일 내용을 읽는다.
fs.readFile(path [, options], callback)
//메서드를 실행할 때 3개의 인자를 받는다.
path :string, Buffer, URL, integer
path에는 파일 이름을 인자로 넘긴다, 네 가지의 type을 넘길 수 있지만 보통 'string'을 넘긴다.
[] 대괄호는 생략 가능한 인자이다.
options : opject, string
options는 객체, 문자열을 인자로 넘긴다. 주로 받는 파일을 어떤 형식으로 읽을지를 결정한다.
callback : function
콜백 함수로는 err를 리턴하거나, data를 리턴하는 함수를 받는다.
콜백함수는 비동기적으로 실행되는 함수이다.
콜백함수의 인자로는 null, data를 받는다.
<--- 사용해보기 --->
const fs = require("fs");
//fs모듈을 불러온다.
const getDataFromFile = function (filePath, callback) {
let options = {
encoding : "utf-8"
};
//utf-8의 형식으로 인코딩한다.
//options를 선언하지 않고, fs.readFile 두번째 인자에
//'utf-8'을 넘겨도 동일하게 실행된다.
fs.readFile(filePath, options, function (err, data) {
if(err) {
return callback(err, null);
}
else{
return callback(null, data);
}
})
};
3rd-party 모듈을 사용하는 방법
3rd-party란 공식적으로 제공하는 것이 아닌 제3의 모든 것을 뜻한다.
공식적으로 지원하지 않는 것을 사용하고자 할 때는 npm install을 이용해서 다운로드한다.
npm install underscore;
//underscore 설치
const _ = require('underscore')
//require 구문을 통해 underscore 사용하기
'Software Engineering' 카테고리의 다른 글
Fetch API (0) | 2020.11.16 |
---|---|
Web Architectures(웹 시스템의 구성) (2) | 2020.11.15 |
동기(Synchronous), 비동기(Asynchronous) (0) | 2020.11.14 |
고차함수(Higher order function) in Javascript (0) | 2020.11.14 |
HTML (0) | 2020.11.12 |