- 비동기 이벤트 기반 자바스크립트 런타임
- 공식문서 : https://nodejs.org/en/about/
- 모듈 공식문서 : https://nodejs.org/dist/latest-v14.x/docs/api/
- 기존에는 브라우저에서 다른 파일을 불러올 때 이런 방식으로 불러왔다.
<script src = "불러오고싶은_스크립트.js"></script>
- 그러나 Node.js에서는 Javascript 코드 가장 상단에
reqire
구문을 이용하여 다른 파일을 불러온다.const fs = require('fs') // 파일 시스템 모듈 불러옴 const dns = require('dns') //DNS 모듈을 불러옴
- 써드파티모듈(3rd-party-module)은 해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈이 아닌 모든 외부 모듈을 일컫는다. 예를 들어, Node.js의
underscore
는 공식문서에 없는 모듈이기 때문에 써드파티 모듈이다.
이를 사용하는 방법은 다음과 같다.npm install underscore
이제는
require
구문을 통해underscore
를 사용할 수 있다.const_ = require('underscore')
fs.readFile(path,[,options],callback)
- 메소드
fs.readFile
은 비동기적으로 파일 내용 전체를 읽는다. 이 메소드를 실행할 때는 인자 세 개를 넘길 수 있다.
*
path
에는 파일 이름을 인자로 넘길 수 있다.
일반적으로 문자열 타입으로 넘긴다.fs.readFile('/etc/passwd', ..., ...)
- 대괄호로 감싼 두번 째 인자
options
는 넣을 수도 있고, 넣지 않을 수도 있다.let options = { encoding : 'utf8', flag:'r' } fs.readFile('/etc/passwd',options, ...)
callback
- 두가지 parameter가 존재한다.
- 에러가 발생하지 않으면 err은 null이 되고, data에 문자열 or Buffer가 전달된다.
fs.readFile('test.txt','utf8',(err,data)=>{ if(err){ throw err; } console.log(data) })