문서 • 불일치 • 문제 • 로드맵
Bun은 JavaScript 및 TypeScript 앱을 위한 올인원 툴킷입니다. bun
이라는 단일 실행 파일로 제공됩니다.
그 핵심에는 Node.js를 즉시 대체하도록 설계된 빠른 JavaScript 런타임인 Bun 런타임이 있습니다. Zig로 작성되었으며 내부적으로 JavaScriptCore로 구동되므로 시작 시간과 메모리 사용량이 크게 줄어듭니다.
bun run index.tsx # TS 및 JSX는 기본적으로 지원됩니다.
bun
명령줄 도구는 테스트 실행기, 스크립트 실행기 및 Node.js 호환 패키지 관리자도 구현합니다. 개발을 위해 1,000개의 node_modules 대신 bun
만 필요합니다. Bun의 내장 도구는 기존 옵션보다 훨씬 빠르며 변경 사항이 거의 또는 전혀 없이 기존 Node.js 프로젝트에서 사용할 수 있습니다.
bun test # testbun 실행 run start # `package.json`에서 `start` 스크립트 실행 bun install <pkg> # packagebunx 설치 cowsay 'Hello, world!' # 패키지 실행
Bun은 Linux(x64 및 arm64), macOS(x64 및 Apple Silicon) 및 Windows(x64)를 지원합니다.
Linux 사용자 — 커널 버전 5.6 이상이 강력히 권장되지만 최소 버전은 5.1입니다.
# 설치 스크립트 사용(권장)curl -fsSL https://bun.sh/install | bash# on windowspowershell -c "irm bun.sh/install.ps1 | iex"#(npmnpm 설치 포함) -g bun#(Homebrewbrew 탭 포함 오븐-sh/bun) Dockerdocker 풀 오븐/번을 사용한 양조 설치 번# docker run --rm --init --ulimit memlock=-1:-1 오븐/번빵
최신 버전의 Bun으로 업그레이드하려면 다음을 실행하세요.
롤빵 업그레이드
Bun은 main
에 커밋할 때마다 자동으로 카나리아 빌드를 릴리스합니다. 최신 Canary 빌드로 업그레이드하려면 다음을 실행하세요.
롤빵 업그레이드 --카나리아
카나리아 빌드 보기
소개
번이란 무엇입니까?
설치
빠른 시작
타입스크립트
템플릿
bun init
bun create
실행 시간
bun run
파일 형식
타입스크립트
JSX
환경변수
롤빵 API
웹 API
Node.js 호환성
단일 파일 실행 가능
플러그인
시계 모드
모듈 해상도
자동 설치
bunfig.toml
디버거
프레임워크 API
패키지 관리자
bun install
bun add
bun remove
bun update
bun link
bun pm
글로벌 캐시
작업공간
수명주기 스크립트
필터
잠금 파일
범위 및 레지스트리
재정의 및 해결
번들러
Bun.build
로더
플러그인
매크로
대 esbuild
테스트러너
bun test
테스트 작성
시계 모드
수명주기 후크
모의
스냅샷
날짜 및 시간
DOM 테스트
코드 적용 범위
패키지 러너
bunx
API
HTTP 서버
웹소켓
노동자
바이너리 데이터
스트림
파일 I/O
import.meta
SQLite
파일 시스템 라우터
TCP 소켓
UDP 소켓
전역
$ 쉘
하위 프로세스
트랜스파일러
해싱
콘솔
FFI
HTMLRewriter
테스트
유틸리티
노드 API
글로브
셈베르
프로젝트
로드맵
벤치마킹
기여
창문 만들기
특허
바이너리
Blob을 DataView로 변환
Blob을 ReadableStream으로 변환
Blob을 문자열로 변환
Blob을 Uint8Array로 변환
Blob을 ArrayBuffer로 변환
버퍼를 Blob으로 변환
버퍼를 ReadableStream으로 변환
버퍼를 문자열로 변환
버퍼를 Uint8Array로 변환
버퍼를 ArrayBuffer로 변환
DataView를 문자열로 변환
Uint8Array를 Blob으로 변환
Uint8Array를 버퍼로 변환
Uint8Array를 DataView로 변환
Uint8Array를 ReadableStream으로 변환
Uint8Array를 문자열로 변환
Uint8Array를 ArrayBuffer로 변환
ArrayBuffer를 Blob으로 변환
ArrayBuffer를 버퍼로 변환
ArrayBuffer를 문자열로 변환
ArrayBuffer를 Uint8Array로 변환
ArrayBuffer를 숫자 배열로 변환
생태계
Vite 및 Bun을 사용하여 프런트엔드 구축
Astro와 Bun으로 앱 구축
Next.js 및 Bun을 사용하여 앱 빌드
Nuxt와 Bun을 사용하여 앱 빌드
Qwik 및 Bun을 사용하여 앱 구축
Remix 및 Bun을 사용하여 앱 구축
SolidStart 및 Bun을 사용하여 앱 빌드
SvelteKit 및 Bun을 사용하여 앱 구축
Elysia와 Bun을 사용하여 HTTP 서버 구축
Express 및 Bun을 사용하여 HTTP 서버 구축
Hono와 Bun을 사용하여 HTTP 서버 구축
StricJS 및 Bun을 사용하여 HTTP 서버 구축
Docker를 사용하여 Bun 애플리케이션 컨테이너화
디스코드 봇 만들기
Render에 Bun 애플리케이션 배포
Mongoose 및 Bun을 사용하여 MongoDB에 데이터 읽기 및 쓰기
PM2를 사용하여 Bun을 데몬으로 실행
systemd를 사용하여 Bun을 데몬으로 실행
서버 측 렌더링(SSR) React 구성요소
Bun과 함께 Drizzle ORM 사용
Bun과 함께 EdgeDB 사용
Bun과 함께 Neon의 서버리스 Postgres 사용
Bun과 함께 Prisma 사용
React와 JSX 사용
Bun 앱에 Sentry 추가
HTTP
일반적인 HTTP 서버 사용법
HTTP 서버에서 TLS 구성
Bun에서 Unix 도메인 소켓을 사용하여 가져오기
HTTP 서버 핫 리로드
fetch()를 사용하여 HTTP 요청 프록시
가져오기를 사용하여 HTTP 요청 보내기
HTTP 서버 클러스터 시작
파일을 HTTP 응답으로 스트리밍
비동기 반복자를 사용하여 HTTP 서버 스트리밍
Node.js 스트림으로 HTTP 서버 스트리밍
FormData를 사용하여 HTTP를 통해 파일 업로드
간단한 HTTP 서버 작성
설치하다
종속성 추가
개발 종속성 추가
Git 종속성 추가
피어 종속성 추가
타르볼 종속성 추가
신뢰할 수 있는 종속성 추가
선택적 종속성 추가
bun 설치를 사용하여 조직 범위에 대한 개인 레지스트리 구성
Bun의 lockb 잠금 파일을 비교하도록 git 구성
작업공간을 사용하여 모노레포 구성
사람이 읽을 수 있는 잠금 파일 생성
다른 이름으로 패키지 설치
GitHub Actions에서 Bun을 사용하여 종속성 설치
Bun 설치를 위해 기본 npm 레지스트리를 재정의합니다.
Azure Artifacts npm 레지스트리와 함께 bun 설치 사용
Artifactory와 함께 Bun 설치 사용
프로세스
나노초 단위로 프로세스 가동 시간 확보
CTRL+C 듣기
OS 신호 듣기
명령줄 인수 구문 분석
표준 입력에서 읽기
하위 프로세스에서 stderr 읽기
하위 프로세스에서 stdout 읽기
자식 프로세스 생성
하위 프로세스를 생성하고 IPC를 사용하여 통신합니다.
파일 읽기
파일이 존재하는지 확인
파일의 MIME 유형을 가져옵니다
ReadableStream으로 파일 읽기
파일을 문자열로 읽기
버퍼로 파일 읽기
Uint8Array로 파일 읽기
ArrayBuffer로 파일 읽기
JSON 파일 읽기
디렉터리에서 변경 사항을 확인하세요.
실행 시간
VS Code 확장을 사용하여 Bun 디버깅
웹 디버거를 사용하여 Bun 디버깅
정적 전역 및 상수 정의 및 교체
JSON 파일 가져오기
TOML 파일 가져오기
HTML 파일을 텍스트로 가져오기
GitHub Actions에서 Bun 설치 및 실행
Bun에 대한 TypeScript 선언 설치
가져오기 경로 다시 매핑
환경 변수 읽기
쉘 명령 실행
Bun에서 시간대 설정
환경 변수 설정
스트림
Node.js 읽기 가능 항목을 Blob으로 변환
Node.js 읽기 가능 항목을 문자열로 변환
Node.js 읽기 가능 항목을 ArrayBuffer로 변환
Node.js 읽기 가능 항목을 JSON으로 변환
ReadableStream을 Blob으로 변환
ReadableStream을 버퍼로 변환
ReadableStream을 문자열로 변환
ReadableStream을 Uint8Array로 변환
ReadableStream을 청크 배열로 변환
ReadableStream을 ArrayBuffer로 변환
ReadableStream을 JSON으로 변환
시험
Bun 테스트 러너로 조기에 탈출하세요
Bun 테스트 실행기를 사용하여 코드 적용 범위 보고서 생성
Bun 테스트 실행기를 사용하여 테스트를 "todo"로 표시합니다.
Jest에서 Bun의 테스트 실행기로 마이그레이션
bun test
의 모의 기능
Bun 테스트 실행기를 사용하여 테스트를 여러 번 다시 실행하세요.
Bun을 사용하여 시계 모드에서 테스트 실행
Bun 테스트 실행기로 테스트 실행
Bun 테스트 실행기로 코드 적용 범위 임계값 설정
Bun 테스트 실행기를 사용하여 테스트별 시간 제한 설정
Bun의 테스트 실행기에서 시스템 시간 설정
Bun 테스트 실행기로 테스트 건너뛰기
bun test
의 메소드 스파이
bun test
에서 스냅샷 업데이트
bun test
에서 스냅샷 테스트 사용
Bun 및 happy-dom을 사용하여 브라우저 DOM 테스트 작성
유틸리티
현재 파일이 진입점인지 확인
두 객체가 완전히 동일한지 확인
DEFLATE를 사용하여 데이터 압축 및 압축 풀기
gzip을 사용하여 데이터 압축 및 압축 풀기
파일 URL을 절대 경로로 변환
절대 경로를 파일 URL로 변환
Bun을 사용하여 코드가 실행될 때 감지
Base64 문자열 인코딩 및 디코딩
HTML 문자열 이스케이프
현재 파일의 절대 경로를 가져옵니다
현재 진입점의 절대 경로를 가져옵니다.
현재 Bun 버전 받기
현재 파일의 디렉터리를 가져옵니다.
현재 파일의 파일 이름을 가져옵니다
실행 가능한 bin 파일의 경로 가져오기
비밀번호를 해시하세요
고정된 밀리초 동안 절전 모드로 전환
웹소켓
게시-구독 WebSocket 서버 구축
간단한 WebSocket 서버 구축
WebSocket 메시지 압축 활성화
WebSocket에서 소켓별 상황별 데이터 설정
파일 쓰기
파일에 콘텐츠 추가
파일을 다른 위치로 복사
파일 삭제
파일에 Blob 쓰기
증분 방식으로 파일 쓰기
stdout에 파일 쓰기
파일에 ReadableStream 쓰기
파일에 응답 쓰기
파일에 문자열 쓰기
표준 출력에 쓰기
Bun에 기여하려면 프로젝트 > 기여 가이드를 참조하세요.
Bun의 라이선스에 대한 자세한 내용은 프로젝트 > 라이선스 페이지를 참조하세요.