BUN은 가벼운 올인원 JAVASCRIPT 런타임입니다.

아마도 이전에 JavaScript 번들러를 접해본 적이 있을 것입니다. 이것은 Rollup이나 Webpack과 같은 도구에 의해 비교적 잘 처리되지만 놀라운 일이 곧 시작됩니다.

가까운 장래에 JavaScript를 개발할 계획이라면 친숙해야 할 번들러인 Bun을 소개하겠습니다.



Stripe의 전 프론트엔드 프로그래머인 은 자신을 "실험용 소프트웨어"라고 부르는 Bun 프로젝트를 개발했습니다. MIT 라이센스는 오픈 소스로 만듭니다. 어제 Sumner는 Bun의 공개 베타 버전을 공개했습니다.

“an incredibly fast all-in-one JavaScript runtime.”



그는 트위터에서 매초 백만 줄 이상의 JavaScript를 묶을 수 있다고 주장했습니다.

Bundle, transpile, install and run JavaScript & TypeScript projects — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner and npm client built-in.



BUN에 대해 자세히 설명해주세요:



Node 또는 Deno와 유사한 최신 JavaScript 런타임은 Bun입니다. 처음부터 세 가지 주요 목표를 염두에 두고 만들어졌습니다.
  • 빠른 시작(가장자리를 고려함).
  • 더 높은 성능 표준(엔진의 JavaScript 코어 확장).
  • 은 환상적이고 포괄적인 도구(번들러, 트랜스파일러, 패키지 관리자)입니다.

  • 성능에 대해 논의합시다 ⚡



    일반적으로 더 빠르다고 여겨지는 V8 엔진 대신 WebKit의 JavaScript Core가 사용됩니다. 또한 Bun의 저자는 C나 Rust에 필적하는 저수준 프로그래밍 언어인 ZIG에 숨은 제어 흐름이 없기 때문에 빠른 애플리케이션을 훨씬 쉽게 구축할 수 있다고 말했습니다.



    개발자의 경우 공식 웹 사이트의 프레젠테이션은 많은 상자를 확인합니다. Deno와 유사하게Bun도 자동 트랜스파일과 함께 JavaScript 및 TypeScript를 사용합니다. React JSX(JavaScript XML) 구문도 Bun에 의해 번역됩니다. CommonJS 및 EcmaScript 모듈(ESM)은 Node.js 모듈 해석을 위해 지원되지만 ESM은 웹 표준이기 때문에 내부적으로 활용됩니다.

    그러나 이것은 많은 npm 패키지가 작동한다는 것을 의미합니다. bun:ffi를 사용하면 Bun JavaScript(외부 함수 인터페이스)에서 기본 코드를 호출할 수 있습니다. 또한 SQLite 데이터베이스 엔진이 포함되어 있습니다.

    “Most of Bun is written from scratch including the JSX/TypeScript transpiler, npm client, bundler, SQLite client, HTTP client, WebSocket client and more,” states the description.



    BUN으로 시작하기:



    터미널에서 이 설치 스크립트를 실행하여 bun을 설치하십시오. GitHub에서 Bun이 다운로드됩니다.

    curl https://bun.sh/install | bash
    


    그러면 다음과 유사한 출력이 표시됩니다.

    StatusCode        : 200
    StatusDescription : OK
    Content           : #!/bin/bash
    
                        # Reset
                        Color_Off=''
    
                        # Regular Colors
                        Red=''
                        Green=''
    
                        # Bold
                        BWhite=''
                        BGreen=''
    
                        Dim='' # White
    
                        if test -t 1; then
                            # Reset
                            Color_Off='\033[0m' # Text Reset
    
                            # Regular Colo...
    RawContent        : HTTP/1.1 200 OK
                        Transfer-Encoding: chunked
                        Connection: keep-alive
                        x-origin-cache: HIT
                        access-control-allow-origin: *
                        x-proxy-cache: MISS
                        x-github-request-id: CC28:9668:148223F:1576AA7:62C7E60C
                        ...
    Forms             : {}
    Headers           : {[Transfer-Encoding, chunked], [Connection, keep-alive], [x-origin-cache, HIT],
                        [access-control-allow-origin, *]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        : mshtml.HTMLDocumentClass
    RawContentLength  : 4906
    
    


    Bun이 설계한 HTTP 서버는 Request 및 Response와 같은 웹 표준을 기반으로 합니다.

    // http.js
    export default {
      port: 3000,
      fetch(request) {
        return new Response("Welcome to Bun!");
      },
    };
    
    


    롤빵으로 실행하십시오.

    bun run http.js
    


    그런 다음 브라우저에서 localhost:3000으로 이동합니다.
    추가 샘플은 documentation을 읽으면 찾을 수 있습니다.

    그게 다야:
    이 기사가 마음에 드셨다면 박수 기호를 몇 번 눌러주시고 널리 알려주세요 😊

    좋은 웹페이지 즐겨찾기