money.js로 구현하는 실시간 환율 변환: 초경량 자바스크립트 솔루션 가이드

소개

money.js는 단 1KB 크기의 경량 JavaScript 라이브러리로, 웹 및 Node.js 환경에서 간편한 통화 변환 기능을 제공합니다. 외부 의존성이 없어 프로젝트에 부담 없이 통합 가능하며, 실시간 환율 계산이 필요한 애플리케이션 개발 시 큰 장점이 됩니다.

주요 특징

  • 초경량 설계: 전체 파일 크기가 1KB 미만으로 성능 오버헤드 최소화
  • 다양한 로딩 방식 지원: 브라우저 스크립트 태그, CommonJS, AMD 등 모두 호환
  • 유연한 API: 함수형 호출과 체이닝 문법 동시 지원
  • 확장성: 사용자가 직접 환율 데이터를 주입할 수 있어 Open Exchange Rates 등 다양한 소스와 연동 가능

설치 방법

Node.js에서 설치

npm install money

브라우저에서 사용

CDN 또는 로컬 다운로드 후 아래와 같이 포함:

<script src="money.min.js"></script>

소스 코드 클론

git clone https://gitcode.com/gh_mirrors/mo/money.js

기본 사용법

환율 설정

사용 전 기본 통화(base currency)와 비교 통화 대비 환율을 정의해야 합니다.

// 기준 통화를 USD로 설정
fx.base = "USD";
fx.rates = {
  EUR: 0.85,
  GBP: 0.73,
  JPY: 110.5,
  KRW: 1200.0
};

단일 금액 변환

두 가지 스타일의 API를 제공합니다:

// 함수 스타일
const euroAmount = fx.convert(50, { from: "USD", to: "EUR" });
console.log(euroAmount); // ~42.5

// 체이닝 스타일
const yenAmount = fx(10).from("USD").to("JPY");
console.log(yenAmount); // ~1105

통화 문자열 파싱

금액과 통화 기호가 포함된 문자열도 직접 처리 가능합니다.

const amount = fx("$29.99 USD").to("KRW");
console.log(amount); // ~35970

고급 활용 예시

배열 일괄 변환

여러 금액을 동시에 변환할 수 있습니다.

const pricesInUsd = [10, 25, 50, 75];
const pricesInEur = fx.convert(pricesInUsd, { from: "USD", to: "EUR" });
console.log(pricesInEur); // [8.5, 21.25, 42.5, 63.75]

실시간 환율 API 연동

Open Exchange Rates와 같은 서비스와 결합하면 실시간 데이터 기반 변환이 가능합니다.

fetch('https://openexchangerates.org/api/latest.json?app_id=YOUR_API_KEY')
  .then(res => res.json())
  .then(data => {
    fx.base = data.base;
    fx.rates = data.rates;

    const finalPrice = fx(89.99).from("USD").to("GBP");
    console.log(`£${finalPrice.toFixed(2)}`);
  })
  .catch(err => console.error("환율 로드 실패:", err));

기본 옵션 설정

반복되는 파라미터 입력을 줄이기 위해 기본값을 사전 정의할 수 있습니다.

fx.settings = {
  from: "USD",
  to: "EUR"
};

// 이제 별도 지정 없이 변환 가능
const value = fx.convert(150); // 자동으로 USD → EUR 적용

프로젝트 구조

레포지토리 내 주요 구성 요소:

  • money.js: 가독성 있는 원본 소스
  • money.min.js: 배포용 압축 버전
  • package.json: 패키지 메타데이터 및 모듈 정보
  • README.md: 사용 설명서 및 예제 문서

버전 이력 요약

  • 0.2: Open Exchange Rates 팀이 인수하여 문서 개선
  • 0.1.3: Node.js 모듈 내 오타 수정
  • 0.1.2: 모듈 로딩 로직 강화
  • 0.1.1: 기준 통화 누락 시 대체 처리 추가
  • 0.0.2: 문자열 파싱 기능 도입

마무리

money.js는 작지만 강력한 환율 변환 도구로, 글로벌 상거래, 멀티 커런시 UI, 금융 계산기 등의 시나리오에 이상적입니다. 간결한 API와 확장 가능한 아키텍처 덕분에 짧은 시간 안에 기능을 구현할 수 있으며, 성능 영향도 거의 없습니다. 실시간 통화 변환이 필요하다면 이 라이브러리를 적극 고려해보세요.

태그: money.js JavaScript currency conversion exchange rates Open Exchange Rates

6월 14일 00:04에 게시됨