Application Programming Interface의 줄임말로, 클라이언트가 요청한 내용에 대해 서버가 ‘사용 규칙을 제공하는 것(응답)’을 말한다.
**require
** 구문을 이용해 다른 파일을 불러온다.const fs = require('fs'); // 파일 시스템 모듈을 불러옵니다
const dns = require('dns'); // DNS 모듈을 불러옵니다
// 이제 fs.readFile 메서드 등을 사용할 수 있습니다!
//underscore 모듈을 설치 -> node_modules에 underscore가 설치 된다.
npm install underscore
//require 구문을 통해 underscore 사용 가능하다.
const _ = require('underscore');
fs.readFile
메서드 : 로컬에 존재하는 파일을 읽어온다.fs.readFile(path[, options], callback)
**fs.readFile**
는 비동기적으로 파일 내용 전체를 읽는다. 그리고 전달인자로 3개를 받는다.path
\ string | \Buffer | \URL | \integerpath
엔 파일 이름을 전달 인자로 받는다.//`'etc/passwd' 라는 파일을 불러오는 예제
fs.readFile('/etc/passwd', ..., ...)
options
\ Object | \stringoptions
의 대괄호는 선택적 전달인자를 의미한다. options
은 말 그대로 옵션으로, 넣을 수도, 넣지 않을 수도 있다.**1. 두 번째 전달인자 options에 문자열을 전달한 경우**
// /etc/passwd 파일을 'utf8'을 사용하여 읽는다.
fs.readFile('/etc/passwd', 'utf8', ...);
↓
let options = {
encoding: 'utf8', // utf8 **인코딩 방식으로 연다.**
flag: 'r' // 읽기 위해 연다.
}
2. 두 번째 전달인자 options에 객체를 전달한 경우
// /etc/passwd 파일을 'utf8'을 사용하여 읽는다.
fs.readFile('/etc/passwd', options, ...)
callback
\Functionerr
\Error | \AggregateErrordata
\string | \Buffererr
→ null
이 되고, data
에 문자열(string)이나 Buffer
라는 객체가 전달된다.fs.readFile('test.txt', 'utf8', (err, data) => {
if (err) {
throw err; // 에러를 던집니다.
}
console.log(data);
});