-
Bun - 새로운 자바스크립트 실행기Dev/TIL 2022. 9. 7. 10:48반응형
새로운 자바스크립트 실행기 Bun
- 번들러, 트랜스 파일러, 태스크 러너 그리고 빌트인 매니저
- 공식 문서
yarn, npm 과 같은 패키지 매니저 역할도 하고, webpack, tsc, vite와 같은 번들러 역할을 하고 있음
특징
- 매우 빠르다
- npm, yarn 호환이 가능함
빠른 이유
1. 광범위한 벤치마킹과 최적화 작업 진행
-node_modules에 접근이 아닌 drilling을 채택하는 동시에 최적화를 진행함
2. ZigLang의 빠른 퍼포먼스를 이용
사용법
curl https://bun.sj/install | bash
package manager로서의 Bun
bun install
bun run
npm 에서는 약 170ms 정도 소요, bun은 6ms 소요
bun create
CRA보다 11배가 빠르다고 함
ex)
bun create react ./app
bun create nuxt ./app
Bundler, transpiler로서의 Bun
Bun loader API interface는 esbuild 기반이기 때문에 엄청나게 빠름
특징
1. plugin 개발도 쉽게 할 수 있음
2. env 는 자동적으로 들어와서 지정할 필요가 없음
3. http request와 response를 간단하게 정의가 가능함
- node.js 를 사용했을때보다 약 3배 정도 더 빠르게 전달할 수 있음을 강조하고 있음
4. database도 쉽게 구축이 가능
- SELECT문으로 100개의 데이터를 가져올 때 Node보다 약 6배, deno보다 약 3.6배 정도로 빠름
느낀점
여러 framework들을 나눠서 사용했던 것들이 하나로 합쳐져서 나오는 추세인듯함 (remix.js도 비슷한 느낌)
프론트엔드 번들러 형태가 babel과 같은 조금 뒤떨어진 번들다보다 esbuild 쪽으로 방향성을 가져가고 있는 듯 함
*2022 09월 기준으로 M1 (Apple Sillicon) 에서는 동작하지 않음
반응형'Dev > TIL' 카테고리의 다른 글
[Git] 푸시 후 커밋 되돌리기/제거하기 (0) 2022.11.28 [jest] 테스트코드 패턴과 mocking (0) 2022.09.07 [css] overflow-x: hidden 예상대로 동작하지 않을 때 (0) 2022.09.06 [react-query] stale과 cache의 개념 제대로 이해하기 (0) 2022.09.05 vscode 1분만에 prettier 설정하기 (+ 저장 후 변경 안되는 경우) (0) 2022.09.05