본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Javascript

새로운 자바스크립트(타입스크립트) 런타임 환경, 디노(Deno)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2022. 5. 16.

 

디노? 데노?

 

node.js에서 자바스크립트(타입스크립트)는 v8기반의 엔진을 통해 실행 합니다.

그리고 패키지 관리는 npm을 통해 관리를 합니다.

그런데 요 디노(deno)라는 녀석이 이러한 개발 및 런타임 환경을 좀 더 편리하게 해 줄수 있다고 하였습니다.

구글링한 디노의 특징은 대략 아래와 같았습니다.

 

 - 타입스크립트(TypeScript)를 바로 실행할 수 있습니다.

 - 의존성 검사기(dependency inspector)와 코드 포매터(code formatter)를 가지고 있습니다.
 - 실행할 수 있는 파일 1개로 만들어 줍니다.

역시 머리보다 몸이 먼저인 사람은 한번 해봐야 뭔말인지 알 수 있을 것 같습니다.

백문이 불여일견!

 

먼저 디노(deno)를 설치하도록 합니다.

윈도우 기반이면 아래 명령어를 통해 쉽게 설치가능 합니다. 

iwr https://deno.land/x/install/install.ps1 -useb | iex

 

설치완료!

 

설치가 완료되면 환경변수에 디노(deno)가 잘 실행 되도록 등록하여 줍니다.

* 환경변수 설치는 쉬우므로 넘어가겠습니다. 경로는 설치한 경로를 써 주면 됩니다.

hep 옵션으로 잘 동작하는지 확인하여 보았습니다.

 

이제 테스트용 파일을 한개 만들어 줍니다.

* 파일이름 : index.ts

import {bgGreen, black} from 'https://deno.land/std/fmt/colors.ts';  
const msg : string = "안녕 디노~";

console.log(bgGreen(msg));

 

문자 색상을 단순하게 바꾸는 라이브러리를 가져와서 적용하게 하였습니다.

기존의 package.json에서 의존성 라이브러리를 적는것이 아닌 주소를 입력하는 방식 입니다.

이제 한번 실행하여 봅니다.

deno run index.ts

 

와..라이브러리를 받아서 실행까지 해줍니다..ㅋ

 

명령어를 실행하니 의존성 라이브러리를 알아서 다운받아주고, ts파일을 알아서 컴파일한 뒤에 실행까지 해 주는 모습을 볼 수 있습니다.

위 동작 내용을 기존방식으로 하려면 npm 명령어를 통해서 의존성 라이브러리들을 받아주고, tsc 명령어를 통해 컴파일해야 하며, node 명령어를 통해 실행하여야 했습니다.

이러한 단계와 절차를 명령어 한번에 할 수 있다는게 너무나 신기하고 좋았던 것 같습니다.

 

아직 개발된지 얼마되지 않아서 많이 쓰이지는 않는다고 합니다.

또 어떤글을 보니 "node.js를 대체한다!" 라는 글도 있던데...그건 두고봐야 겠습니다..^^;

 

이상으로 새로운 자바스크립트(타입스크립트) 런타임 환경, 디노(Deno)에 대해서 살펴보았습니다.

밑에 참조한 사이트 링크를 추가하겠습니다.

궁금한 점 또는 잘못된 부분은 언제든 연락주세요! 👻

 

https://ko.wikipedia.org/wiki/%EB%94%94%EB%85%B8_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

 

https://deno.land/

 

Deno - A modern runtime for JavaScript and TypeScript

Deno is a simple, modern runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

deno.land

 

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글