티스토리 뷰
fs(파일 시스템) 모듈
- Node.js의 내장 모듈로 파일을 읽거나 저장하는 기능을 구현할 수 있도록 한다.
const fs = require('fs');
- 사용전 위 같은 선언을 통해 모듈을 사용하기 위해 불러오는 과정이 필요.
- 파일을 읽을 때에는 readFile,파일을 저장할 때에는 writeFile를 사용
- fs.readFile(파일 경로 [, options], callback)으로 구성되어 있다. option은 인코딩이나 모드를 설정할 수 있다.
- callback에는 콜백함수로 파일을 열고 수행할 함수를 넣을 수 있다.
- writeFile도 동일하지만 두번째 인자에 파일에 넣은 내용을 적을 수 있다.
fs.readFile('test.txt', 'utf8', (err, data) => {
if (err) throw err; // 에러를 던집니다.
console.log(data);
});
fs.writeFile('test1.txt', 'test1.txt 파일 속에 들어갈 내용', (err) => {
if (err) console.log('Error: ', err);
else console.log('File created');
});
3rd-party 모듈
- 서드 파티 모듈(3rd-party module)은 해당 프로그래밍 언어에서 공식적으로 제공하는 빌트인 모듈(built-in module)이 아닌 모든 외부 모듈을 의미한다.
- 터미널에서 npm install로 설치가 가능하다. 이후 내장 모듈과 동일하게 사용가능
const _ = require('underscore'); //underscore 모듈 선언
fetch API
- 대표적인 비동기화 사례로 url로 네트워크 요청을 하는 API이다.
- 특정 웹사이트에서는 필요한 정보만 url로 요청할 수 있다. 이때 받는 데이터는 json() 메서드를 사용해 변환해야 한다.
let url =
"https://koreanjson.com/posts/1";
fetch(url)
.then((response) => response.json())
.then((json) => console.log(json))
.catch((error) => console.log(error));
Axios
- Axios는 서드 파티 모듈로, 브라우저와 Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리이다.
- Axios는 Fetch API보다 사용이 간편하면서 추가적인 기능들이 포함되어 있다.
- 대표적인 기능으로 자동으로 JSON데이터 형식으로 변환이 있다
axios.get("url"[,config])
- 일반적으로 정보를 요청하기 위해 사용되는 GET 요청 메서드.
- 첫 번째 인자에는 url주소가 들어가고, 두번째 인자에는 요청 시 사용할 수 있는 옵션들을 설정한다. 두번째 인자는 생략가능.
axios
.get('https://koreanjson.com/users/1')
.then((response) => {
console.log(response);
const { data } = response;
console.log(data);
})
.catch((error) => console.log(error));
- POST 요청은 서버에게 데이터를 보내기 위해 사용되는 메서드도 존재한다.
axios.post("url"[, data[, config]])
- 첫번째 인자에는 url주소가 들어가고, 두번째 인자에는 요청 시 보낼 데이터를 설정하게 된다. 옵션의 경우 필수는 아니지만 상황에 따라 설정이 필요.
axios
.post('https://koreanjson.com/users', { nickName: 'ApeachIcetea', age: '20' })
.then((response) => {
const { data } = response;
console.log(data);
})
.catch((error) => console.log(error));
댓글