deno是什么

本人github

Deno 是一个现代的 JavaScript 和 TypeScript 运行时,具有许多创新功能和改进。它由 Ryan Dahl 创建,他也是 Node.js 的创始人。Deno 旨在解决和改进 Node.js 中的一些设计缺陷和问题。以下是 Deno 的一些关键特点和设计目标:

主要特点

  1. 安全性

    • 默认情况下,Deno 在运行时是没有文件系统、网络和环境访问权限的。你需要显式地授予这些权限,这有助于提高安全性。例如,要授予读取文件的权限,可以使用 --allow-read 标志。
  2. 内置 TypeScript 支持

    • Deno 原生支持 TypeScript,你可以直接运行 .ts 文件,而无需显式编译步骤。
  3. 单个可执行文件

    • Deno 是一个单个可执行文件,没有像 node_modules 那样复杂的依赖管理机制。它使用 URL 作为模块导入的方式。
  4. 现代标准

    • Deno 支持现代 JavaScript 特性,并与 ES 模块完全兼容。它支持顶层 awaitimport.meta 等现代特性。
  5. 内置工具

    • Deno 提供了许多内置工具,如 deno fmt(代码格式化),deno lint(代码检查),deno test(测试),无需安装额外的包。
  6. 标准库

    • Deno 提供了一个标准库,供开发者使用。这些库是高质量的,可以减少对第三方库的依赖。

示例

下面是一些基本的 Deno 使用示例:

运行 JavaScript 文件
// hello.js
console.log("Hello, Deno!");

运行命令:

deno run hello.js
运行 TypeScript 文件
// hello.ts
const greeting: string = "Hello, Deno with TypeScript!";
console.log(greeting);

运行命令:

deno run hello.ts
授予文件系统权限

假设你有一个脚本需要读取文件:

// read_file.ts
const text = await Deno.readTextFile("example.txt");
console.log(text);

运行命令,并授予读取文件的权限:

deno run --allow-read read_file.ts
使用 HTTP 模块

Deno 提供了一个简单的 HTTP 服务器模块:

// server.ts
import { serve } from "https://deno.land/std/http/server.ts";

const server = serve({ port: 8000 });
console.log("HTTP server is running. Access it at: http://localhost:8000/");

for await (const req of server) {
  req.respond({ body: "Hello, Deno!" });
}

运行命令:

deno run --allow-net server.ts

结论

Deno 是一个现代的、更加安全和灵活的 JavaScript/TypeScript 运行时。它的设计理念是简化开发过程,减少常见错误,并提供现代化的开发工具和特性。对于那些希望在一个现代环境中运行 JavaScript 和 TypeScript 的开发者来说,Deno 是一个值得探索的工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我想要身体健康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值