티스토리 뷰

개발/자바스크립트

fs 모듈과 fetch API

네스사 2023. 3. 21. 17:01

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));

'개발 > 자바스크립트' 카테고리의 다른 글

Proxy  (0) 2023.06.07
JSON  (1) 2023.03.22
동기와 비동기  (0) 2023.03.20
프로토타입  (0) 2023.03.15
클래스  (0) 2023.03.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함