Search
๐Ÿ“ข

Deno v1.31

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๋Š” ๊ฐœ๋ฐœ์„ ์ตœ๋Œ€ํ•œ ์›ํ™œํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์— ์—ด๊ด‘ํ•˜๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.