> 웹 프론트엔드 > JS 튜토리얼 > Axios NPM 패키지: HTTP 요청 설치 및 만들기에 대한 초보자 가이드

Axios NPM 패키지: HTTP 요청 설치 및 만들기에 대한 초보자 가이드

Patricia Arquette
풀어 주다: 2024-12-04 11:24:12
원래의
747명이 탐색했습니다.

Axios NPM Package: A Beginner

소개

최신 웹 애플리케이션을 구축할 때 HTTP 요청을 하는 것은 데이터를 서버로 가져오거나 보내는 핵심 작업입니다. JavaScript는 이러한 요청을 처리하는 기본 방법으로 fetch API를 제공하지만 많은 개발자는 기능이 풍부하고 직관적인 라이브러리인 Axios npm 패키지 사용을 선호합니다. Axios는 브라우저와 Node.js 환경 모두에서 원활하게 작동하는 약속 기반 HTTP 클라이언트를 제공하여 프로세스를 단순화합니다. async/await 지원으로 특히 여러 요청을 처리할 때 코드를 더 쉽게 읽고 유지 관리할 수 있습니다.

이 블로그는 Axios npm 패키지를 시작하는 데 도움이 되며 설치 방법과 GET, POST, PUT 같은 기본 HTTP 작업에 사용하는 방법을 설명합니다. 또한 이 기능의 특징과 개발자가 기본 가져오기 API와 같은 대안보다 이 기능을 선택해야 하는 이유에 대해 알아볼 것입니다.

Axios란 무엇인가요?

Axios는 HTTP 요청을 더 간단하고 효율적으로 만들기 위해 설계된 경량 JavaScript 라이브러리입니다. Promise 기반 클라이언트로 작동하므로 개발자는 더욱 깔끔하고 관리하기 쉬운 방식으로 비동기 데이터 흐름을 처리할 수 있습니다. 브라우저에서 작업하든 Node.js 환경에서 작업하든 Axios는 API와 상호작용하기 위한 통합 솔루션을 제공합니다.

Axios의 특징

  • Promise 기반: Promise와 원활하게 작동하며 더 깔끔한 비동기 코드를 위해 async/await 구문을 지원합니다.
  • 자동 JSON 변환: Axios는 JSON 응답을 JavaScript 객체로 자동 변환하여 데이터를 수동으로 구문 분석하는 추가 단계를 줄여줍니다.
  • 요청 및 응답 인터셉터: 개발자가 요청이나 응답을 처리하기 전에 전역적으로 수정할 수 있습니다.
  • 기본 구성: 기본 URL이나 헤더와 같은 사전 정의된 구성으로 Axios 인스턴스를 생성하여 반복 코드를 줄일 수 있습니다.
  • 오류 처리: 자세한 오류 메시지와 함께 강력한 오류 처리를 제공하여 디버깅을 더 쉽게 만듭니다.

페치 대신 Axios를 선택하는 이유는 무엇인가요?

Fetch API는 기본적으로 JavaScript에서 사용할 수 있지만 Axios는 이를 선호하는 여러 가지 장점을 제공합니다.

  1. 자동 JSON 처리: 가져오기를 사용하면 개발자는 response.json()을 사용하여 응답을 수동으로 구문 분석해야 합니다. Axios는 이 작업을 자동으로 수행합니다.
   // Using fetch
   fetch(url)
     .then(res => res.json())
     .then(data => console.log(data));

   // Using Axios
   axios.get(url)
     .then(response => console.log(response.data));
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
  1. 요청 인터셉터: Axios를 사용하면 개발자는 fetch에서 기본적으로 지원하지 않는 인터셉터를 통해 헤더를 수정하거나 인증 토큰을 처리할 수 있습니다.
  2. 오류 처리: Axios는 더 자세한 오류 개체를 제공하는 반면, 가져오기는 명시적으로 확인하지 않는 한 404 또는 500과 같은 HTTP 응답 코드를 성공적인 요청으로 간주합니다.
  3. 이전 브라우저 지원: Axios에는 폴리필이 필요할 수 있는 가져오기와 달리 구형 브라우저에 대한 지원이 내장되어 있습니다.

이러한 기능과 사용 편의성이 결합된 Axios npm은 HTTP 요청 처리를 위한 안정적이고 개발자 친화적인 도구입니다.

좀 더 심층적인 비교에 관심이 있다면 Axios vs fetch의 뉘앙스를 더 깊이 파고들어 언제 둘 중 하나를 선택해야 하는지 논의하는 또 다른 블로그를 참조하세요. 여기에서 확인해 보세요: Axios vs Fetch: 프로젝트에 어떤 것을 선택해야 할까요?

Axios npm 설치 방법

Axios npm을 시작하는 것은 빠르고 쉽습니다. 다음은 프로젝트에 Axios를 설치하고 포함하기 위한 단계별 지침입니다.

1단계: Axios 설치

Axios를 사용하려면 먼저 프로젝트에 설치해야 합니다. npm이나 Yarn을 사용하여 이 작업을 수행할 수 있습니다.

  1. npm(노드 패키지 관리자) 사용: 프로젝트 디렉터리에서 터미널을 열고 다음 명령을 실행합니다.
   npm install axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
  1. 실 사용: Yarn을 패키지 관리자로 사용하는 경우 다음을 실행하세요.
   yarn add axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

이렇게 하면 Axios가 package.json 파일에 종속성으로 추가됩니다.

2단계: 프로젝트에 Axios 포함

Axios를 설치한 후 이를 JavaScript 또는 TypeScript 파일로 가져와야 합니다.

  1. CommonJS 구문 사용: CommonJS 환경(예: Node.js)에서 작업하는 경우 require를 사용하여 Axios를 포함할 수 있습니다.
   const axios = require('axios');
로그인 후 복사
로그인 후 복사
  1. ES6 구문 사용: ES6 모듈이나 React와 같은 최신 JavaScript 프레임워크의 경우 다음과 같이 Axios를 가져옵니다.
   import axios from 'axios';
로그인 후 복사
로그인 후 복사

두 접근 방식 모두 프로젝트 설정과 JavaScript 환경에 따라 작동합니다.

설치 확인

다음은 Axios가 올바르게 설치되고 가져왔는지 확인하는 간단한 코드 조각입니다.

import axios from 'axios';

axios.get('https://jsonplaceholder.typicode.com/posts')
  .then(response => {
    console.log('Axios is working:', response.data);
  })
  .catch(error => {
    console.error('Error using Axios:', error);
  });
로그인 후 복사
로그인 후 복사

프로젝트에서 이 코드를 실행하고 콘솔에 로그된 가져온 데이터가 표시되면 Axios npm이 프로젝트에 성공적으로 설치 및 포함된 것입니다.

4. Axios를 사용한 HTTP 메소드 이해

Axios는 직관적인 구문을 사용하여 GET, POST, PUT, DELETE와 같은 HTTP 메서드를 간단하게 처리합니다. 각 방법을 사용 방법을 보여주는 예와 함께 자세히 살펴보겠습니다.

4.1. GET 요청

GET 요청은 서버에서 데이터를 검색하는 데 사용됩니다. 이는 일반적으로 목록, 사용자 프로필 또는 읽기 전용 데이터를 가져오는 데 사용되는 가장 일반적인 HTTP 방법 중 하나입니다.

코드 예:

   // Using fetch
   fetch(url)
     .then(res => res.json())
     .then(data => console.log(data));

   // Using Axios
   axios.get(url)
     .then(response => console.log(response.data));
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

설명:

  • axios.get(url)은 제공된 URL로 GET 요청을 보냅니다.
  • response.data에는 서버에서 가져온 데이터가 포함되어 있습니다.
  • .catch() 블록은 네트워크 문제나 잘못된 엔드포인트 등의 오류를 처리합니다.

출력 예:

   npm install axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

4.2. POST 요청

POST 요청은 일반적으로 사용자 등록이나 블로그 게시물과 같은 새 기록을 생성하기 위해 서버에 데이터를 보내는 데 사용됩니다.

코드 예:

   yarn add axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

설명:

  • axios.post(url, data)는 두 번째 인수에 지정된 데이터를 사용하여 서버에 POST 요청을 보냅니다.
  • 이 예에서 요청은 제목, 본문, 사용자 ID가 포함된 새 게시물을 보냅니다.
  • 서버의 응답에는 새로 생성된 리소스가 포함됩니다.

출력 예:

   const axios = require('axios');
로그인 후 복사
로그인 후 복사

4.3. PUT 요청

PUT 요청은 기존 리소스를 업데이트하는 데 사용됩니다. 일반적으로 전체 리소스를 업데이트된 데이터로 대체합니다.

코드 예:

   import axios from 'axios';
로그인 후 복사
로그인 후 복사

설명:

  • axios.put(url, data)는 주어진 URL에서 리소스를 업데이트하기 위해 PUT 요청을 보냅니다.
  • 두 번째 인수에는 업데이트된 데이터가 포함되어 있으며, 이 경우 ID: 1로 게시물의 제목과 본문을 업데이트합니다.
  • 서버가 업데이트된 리소스로 응답합니다.

출력 예:

import axios from 'axios';

axios.get('https://jsonplaceholder.typicode.com/posts')
  .then(response => {
    console.log('Axios is working:', response.data);
  })
  .catch(error => {
    console.error('Error using Axios:', error);
  });
로그인 후 복사
로그인 후 복사

4.4. 삭제 요청

DELETE 요청은 서버에서 리소스를 제거하는 데 사용됩니다. 사용자 프로필이나 게시물 등의 기록을 삭제할 때 주로 사용됩니다.

코드 예:

axios.get('https://jsonplaceholder.typicode.com/users')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
로그인 후 복사

설명:

  • axios.delete(url)은 서버에 DELETE 요청을 보냅니다.
  • 서버는 URL(이 경우 /posts/1)에 지정된 리소스를 제거하고 확인 응답을 반환할 수 있습니다.

출력 예:

[
  { "id": 1, "name": "Leanne Graham", "email": "leanne@example.com" },
  { "id": 2, "name": "Ervin Howell", "email": "ervin@example.com" }
]
로그인 후 복사

빈 응답은 삭제가 성공했음을 나타냅니다.

이러한 HTTP 메소드를 통해 Axios는 모든 CRUD(생성, 읽기, 업데이트, 삭제) 작업에 대해 API와 상호 작용하는 깔끔하고 간결한 방법을 제공합니다. Promise 기반 구조와 강력한 오류 처리 기능을 통해 모든 프로젝트에 강력한 도구가 됩니다. 이제 Axios의 몇 가지 고급 기능을 살펴보겠습니다!

Axios의 고급 기능

Axios는 기본 HTTP 요청에 간단하면서도 보다 복잡한 사용 사례를 위한 강력한 도구가 되는 고급 기능도 제공합니다. 주목할만한 고급 기능 중 일부는 다음과 같습니다.

헤더 구성

  • Axios를 사용하면 요청 헤더를 사용자 정의할 수 있는데, 이는 인증 토큰을 보내거나 콘텐츠 유형을 설정하는 데 특히 유용합니다.
  • API 요청 헤더 설정의 예:
   // Using fetch
   fetch(url)
     .then(res => res.json())
     .then(data => console.log(data));

   // Using Axios
   axios.get(url)
     .then(response => console.log(response.data));
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

Axios 인스턴스 설정

  • 반복적인 구성이 필요한 API로 작업하는 경우 기본 URL 및 기본 헤더와 같은 사전 정의된 설정을 사용하여 Axios 인스턴스를 생성할 수 있습니다.
  • Axios 인스턴스 생성 예:
   npm install axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

인터셉터 사용

  • 인터셉터를 사용하면 요청이나 응답을 처리하기 전에 전역적으로 수정할 수 있습니다. 이는 중앙 집중식으로 헤더를 추가하거나 요청을 기록하거나 오류를 처리하는 데 유용합니다.
  • 요청 인터셉터의 예:
   yarn add axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

이러한 고급 기능을 사용하면 Axios 사용을 최적화하여 애플리케이션의 성능, 확장성 및 유지 관리 가능성을 높일 수 있습니다.

일반적인 문제 해결

다른 도구와 마찬가지로 Axios를 사용하는 데에는 어려움이 따를 수 있습니다. 다음은 개발자가 직면하는 몇 가지 일반적인 문제와 해결 방법입니다.

CORS 문제

  • 문제: API 서버가 도메인의 요청을 허용하지 않으면 CORS(Cross-Origin Resource Sharing) 오류가 발생합니다.
  • 해결책:
    • Access-Control-Allow-Origin과 같은 적절한 헤더를 활성화하여 서버가 CORS를 지원하는지 확인하세요.
    • 오류를 우회하려면 개발 중에 프록시나 브라우저 확장 프로그램을 사용하세요.

요청 시간 초과

  • 문제: API 서버의 응답 시간이 너무 길어서 시간 초과가 발생합니다.
  • 해결책: Axios 요청 구성에서 시간 제한을 설정하세요.
   // Using fetch
   fetch(url)
     .then(res => res.json())
     .then(data => console.log(data));

   // Using Axios
   axios.get(url)
     .then(response => console.log(response.data));
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

네트워크 오류

  • 문제: 연결 문제로 인해 ENOTFOUND 또는 ERR_NETWORK와 같은 문제가 발생합니다.
  • 해결책: 네트워크 연결과 API URL을 확인하세요. 일시적인 오류에 대한 재시도 논리를 추가합니다.
   npm install axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

디버깅 오류

  • 문제: Axios 오류가 항상 설명이 필요하지 않을 수도 있습니다.
  • 해결책: 자세한 내용은 오류 개체를 확인하세요.
   yarn add axios
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

처리되지 않은 약속 거부

  • 문제: .catch() 처리를 잊어버리면 처리되지 않은 프라미스 거부 경고가 발생할 수 있습니다.
  • 해결책: 항상 .catch() 블록을 포함하거나 try/catch를 async/await와 함께 사용하여 오류를 관리하세요.

이러한 일반적인 문제를 해결하면 프로젝트에서 Axios npm을 사용하여 작업하는 동안 더욱 원활한 경험을 보장할 수 있습니다.

결론

이 가이드에서는 JavaScript에서 HTTP 요청을 생성하기 위해 Axios npm을 사용하는 기본 사항을 살펴보았습니다. Axios 설치부터 첫 번째 GET, POST, PUT 및 DELETE 요청 생성까지 Promise 기반 구조, 자동 JSON 구문 분석 및 강력한 오류 처리 기능을 통해 프로세스를 단순화하는 방법을 확인했습니다. 또한 헤더 구성, 재사용 가능한 Axios 인스턴스 생성, 요청/응답 수정을 위한 인터셉터 사용과 같은 고급 기능도 다루었습니다.

Axios는 프로젝트에서 API 요청을 처리하는 방법을 간소화할 수 있는 강력한 도구입니다. 간단한 웹 애플리케이션을 구축하든 복잡한 API 통합을 관리하든 Axios는 프로세스를 직관적이고 효율적으로 만들어줍니다.

위 내용은 Axios NPM 패키지: HTTP 요청 설치 및 만들기에 대한 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿