Deno 1.31ย has been tagged and released with the following new features and changes:
โข
์
๊ทธ๋ ์ด๋ ์: deno upgrade
์ฒ์ ์ค์น ์
# MacOS and Linux
curl -fsSL https://deno.land/x/install/install.sh | sh
# Windows
iwr https://deno.land/x/install/install.ps1 -useb | iex
Shell
๋ณต์ฌ
package.json ์ง์
์ด๋ฒ ๋ฆด๋ฆฌ์ค์์๋ ์๋ก์ด ๊ธฐ๋ฅ์ธ package.json ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ Deno๋ ๊ธฐ์กด Node ํ๋ก์ ํธ์์ ์ฝ๊ฒ ์ ํํ ์ ์๋๋ก ๋์ฑ ์ ๊ทผ์ฑ์ด ํฅ์๋์์ต๋๋ค.
Deno๋ ์ด์ package.json์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์ฌ์ฉ๋ ์ข
์์ฑ(import express from "express"์ ๊ฐ์)์ ์ค์นํ๊ณ ํด๊ฒฐํฉ๋๋ค. ๋ํ ์ด๋ฅผ ํตํด deno task๋ก ์ ์๋ ํ๋ก์ ํธ ํน์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ฐธ๊ณ : ํ์ฌ "scripts" ์ง์์ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ์ ๋ํด์๋ง ๊ฐ๋ฅํฉ๋๋ค. rimraf๋ cross-env์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์๋ํ์ง ์์ผ๋ฉฐ, ์ด๋ฌํ ํ๋ก๊ทธ๋จ์ ๋ํ ์ง์์ ๋ค์ ๋ฆด๋ฆฌ์ค์์ ์ถ๊ฐ๋ ์์ ์
๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ package.json์ด ์๋ค๊ณ ๊ฐ์ ํด๋ด
์๋ค.
{
"name": "@deno/my-example-app",
"description": "An example app created with Deno",
"type": "module",
"scripts": {
"say-hello": "cowsay 'Hello from deno!'"
},
"dependencies": {
"chalk": "^5.2"
},
"devDependencies": {
"cowsay": "^1.5"
}
}
Shell
๋ณต์ฌ
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ bare specifier๋ฅผ ํตํด chalk๋ฅผ ์ฐธ์กฐํ๋ ์คํฌ๋ฆฝํธ๊ฐ ์๋ค๋ฉด:
// main.ts
import chalk from "chalk";
console.log(chalk.green("Hello from Deno!"));
TypeScript
๋ณต์ฌ
์ฐ๋ฆฌ๋ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค:
deno run --allow-env --allow-sys main.ts
Hello from Deno!
๋๋ deno task๋ฅผ ํตํด package.json ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์๋ ์์ต๋๋ค:
deno task say-hello
Task say-hello cowsay 'Hello from deno!'
< Hello from deno! >
scssCopy code
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Plain Text
๋ณต์ฌ
๋ณด๋ค ๋ณต์กํ ์์ ๋ก๋, ๋ค์๊ณผ ๊ฐ์ Vite ํ๋ก์ ํธ ์์ ๋ฅผ ์คํํด ๋ณผ ์ ์์ต๋๋ค:
$ deno run -A npm:create-vite vite-project --template vue
$ cd vite-project
$ deno task dev
์ค์ํ ์ ์ Deno๊ฐ ์ฌ์ ํ ์น ํ์ค import map์ ์ง์ํ๋ค๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ Deno์์ bare specifier๋ฅผ ๋งคํํ๋ ์ฐ์ ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ง๋ฉ๋๋ค.
์ธ์ ๋ ๊ทธ๋ ๋ฏ์ด, Deno๋ ๊ฐ๋ฐ์ ์ต๋ํ ์ํํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ด ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ด๊ดํ๋ฉฐ, ์ปค๋ฎค๋ํฐ์์์ ํผ๋๋ฐฑ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.