npm 모듈 사용하기
ExecuteJS는 npm 레지스트리에서 패키지를 직접 다운로드하고 사용할 수 있습니다.
설치
ExecuteJS를 아직 설치하지 않으셨다면, GitHub 릴리즈에서 최신 버전을 다운로드하여 설치하세요.
기본 사용법
npm 패키지 import
npm: 프로토콜을 사용하여 npm 패키지를 import할 수 있습니다.
import _ from 'npm:lodash';
console.log(_.map([1, 2, 3], (x) => x * 2));
// 출력: [2, 4, 6]
버전 지정
특정 버전을 지정할 수도 있습니다.
import lodash from 'npm:lodash@4.17.21';
스코프 패키지
@scope/package 형식의 스코프 패키지도 지원합니다.
import { something } from 'npm:@some-scope/package';
지원되는 패키지 형식
ExecuteJS는 ES Module (ESM) 형식의 패키지를 지원합니다.
일부 CommonJS나 UMD 형식의 패키지도 사용할 수 있지만, 완벽하게 동작하지 않을 수 있습니다.
작동 방식
- 패키지 다운로드: npm 레지스트리 API를 통해 패키지를 다운로드합니다.
- 로컬 캐시: 다운로드한 패키지는 로컬 캐시에 저장되어 재사용됩니다.
- 모듈 로딩: Deno Core를 통해 모듈을 로드하고 실행합니다.
캐시 위치
다운로드한 패키지는 다음 위치에 캐시됩니다:
- macOS:
~/Library/Caches/executejs/npm/
- Windows:
%LOCALAPPDATA%/executejs/npm/
예제
Lodash 사용하기
import _ from 'npm:lodash';
const data = [1, 2, 3, 4, 5];
const result = _.map(data, (x) => x * 2);
console.log('Doubled:', result);
// 출력: Doubled: [2, 4, 6, 8, 10]
날짜 처리 (date-fns)
import { format, addDays } from 'npm:date-fns';
const now = new Date();
console.log(format(now, 'yyyy-MM-dd HH:mm:ss'));
// 날짜 계산
const tomorrow = addDays(now, 1);
console.log(format(tomorrow, 'yyyy-MM-dd'));
문제 해결
패키지 로드 실패
패키지가 로드되지 않는 경우:
- 인터넷 연결 확인: npm 레지스트리에 접근 가능한지 확인
- 패키지 이름 확인: 패키지 이름이 정확한지 확인
- 버전 확인: 지정한 버전이 존재하는지 확인
다음 단계
- 시작하기에서 기본 사용법을 확인하세요
- 개발하기에서 프로젝트 개발 방법을 알아보세요