Node.js의 대안으로 Deno를 배우는 방법

4886 단어
Deno은 JavaScript 및 TypeScript를 위한 간단하고 현대적이며 안전한 런타임입니다. JavaScript 및 WebAssembly 엔진V8을 사용하며 내장되어 있습니다Rust. MIT 라이선스에 따른 오픈 소스 프로젝트는 Node.js를 만든 개발자인 Ryan Dahl이 만들었습니다.

다음 자습서에서 이러한 모든 비디오 및 지침을 볼 수 있습니다.









Deno's GitHub repository은 다음과 같은 목표를 설명합니다.
  • 단일 실행 파일만 제공(deno)
  • 보안 기본값 제공
  • 특별히 허용되지 않는 한 스크립트는 파일, 환경 또는 네트워크에 액세스할 수 없습니다.
  • 브라우저 호환: 완전히 JavaScript로 작성되고 글로벌 Deno 네임스페이스(또는 이에 대한 기능 테스트)를 사용하지 않는 Deno 프로그램의 하위 집합도 최신 웹 브라우저에서 변경 없이 실행할 수 있어야 합니다.
  • 개발자 환경을 개선하기 위해 단위 테스트, 코드 서식 지정 및 Linting과 같은 기본 제공 도구를 제공합니다.
  • V8 개념을 사용자 영역으로 유출하지 않습니다.
  • HTTP를 효율적으로 제공할 수 있음

  • 저장소는 또한 Deno가 NodeJS와 어떻게 다른지 설명합니다.
  • Deno는 npm을 사용하지 않습니다.
  • URL 또는 파일 경로로 참조되는 모듈을 사용합니다.
  • Deno는 모듈 확인 알고리즘에서 package.json을 사용하지 않습니다.
  • Deno의 모든 비동기 작업은 약속을 반환합니다. 따라서 Deno는 Node.js와 다른 API를 제공합니다.
  • Deno에는 파일, 네트워크 및 환경 액세스에 대한 명시적 권한이 필요합니다.
  • Deno는 항상 포착되지 않은 오류로 사망합니다.
  • "ES 모듈"을 사용하고 require()를 지원하지 않습니다. 타사 모듈은 URL을 통해 가져옵니다.

  • import * as log from "https://deno.land/std@$STD_VERSION/log/mod.ts";
    


    데노 설치



    Deno의 웹사이트에는 다양한 운영 체제용 installation instructions이 있으며 전체 소스 코드는 GitHub repo에서 사용할 수 있습니다. macOS를 실행하므로 HomeBrew와 함께 Deno를 설치할 수 있습니다.

    $ brew install deno
    


    Linux에서는 Deno 서버에서 설치 스크립트를 다운로드하고 읽고 실행할 수 있습니다.

    $ curl -fsSL https://deno.land/x/install/install.sh
    $ sh ./install.sh
    


    실행 데노



    Deno를 설치한 후 실행하는 가장 쉬운 방법은 다음과 같습니다.

    $ deno run https://deno.land/std/examples/welcome.ts
    


    welcome example 을(를) 탐색하면 공룡 아이콘과 함께 "Welcome to Deno"를 인쇄하는 한 줄을 볼 수 있습니다. 다음은 웹 사이트에서도 찾을 수 있는 약간 더 복잡한 버전입니다.

    import { serve } from "https://deno.land/[email protected]/http/server.ts";
    const s = serve({ port: 8000 });
    console.log("http://localhost:8000/");
    for await (const req of s) {
      req.respond({ body: "Hello World\n" });
    }
    


    .tx 확장자로 파일을 저장합니다. 다음과 같이 실행하십시오.

    $ deno run --allow-net <name-of-your-first-deno-file.ts>
    


    --allow-net 플래그는 필요하지 않을 수 있지만 error: _Uncaught PermissionDenied: network access to "0.0.0.0:8000.
    _
    이제 브라우저를 열고 localhost:8080을 방문하십시오. "Hello, World!"가 인쇄되어야 합니다.

    좋은 웹페이지 즐겨찾기