Deno 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Deno 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Deno 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Rust
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 h4cd
适用人群 未知
收录时间 2018-05-31

软件简介

Deno 是 V8 上的安全 TypeScript 运行时。

  • 支持 TypeScript 2.8 开箱即用,使用 V8 6.8.275.3 引擎

  • 无 package.json、npm,不追求兼容 Node

  • 通过 URL 方式引入依赖而非通过本地模块,并在第一次运行的时候进行加载和缓存,并仅在代码使用--reload运行,依赖才会更新,引入方式如:

    import { test } from "https://unpkg.com/deno_testing@0.0.5/testing.ts"
    import { log } from "./util.ts"
  • 可以控制文件系统和网络访问权限以运行沙盒代码,默认访问只读文件系统可访问,无网络权限。V8 和 Golang 之间的访问只能通过 protobuf 中定义的序列化消息完成;

  • 最终创建单一可执行文件

     > ls -lh deno
     -rwxrwxr-x 1 ryan ryan 55M May 28 23:46 deno
     > ldd deno
     	linux-vdso.so.1 =>  (0x00007ffc6797a000)
     	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f104fa47000)
     	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f104f6c5000)
     	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f104f3bc000)
     	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f104f1a6000)
     	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f104eddc000)
     	/lib64/ld-linux-x86-64.so.2 (0x00007f104fc64000)

     

  • 发生未捕捉错误时自动终止运行

  • 支持 top-level 的 await

  • 旨在兼容浏览器

  • 可以作为库来引入,以轻松构建自己的 JavaScript runtime
    https://github.com/ry/deno/blob/master/cmd/main.go

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(32)
发表了资讯
05/26 12:09

Deno 1.34 发布,deno compile 命令支持 npm 包

Deno 1.34 已正式发布,主要更新内容是优化与 npm 和 Node.js 的兼容性,从而整体提升开发者体验,并为未来的性能增强奠定基础。 值得关注的变化: deno compile支持 npm 包 从 Deno v1.6 开始, deno compile支持将项目编译成单个二进制可执行文件,可方便开发者: 在所有主要平台上分发和执行二进制文件,无需安装 Deno 或依赖项 在可执行文件中包含资源以提高可移植性 使用单个二进制文件简化部署 实现更快的启动时间 经过多...

3
1
发表了资讯
05/02 09:40

Deno 推出高性能键值数据库 Deno KV

Deno 团队宣布推出 Deno KV,并称其是具备强一致性的键值数据库,支持在全局范围复制以在全球 35 个地区实现低延迟读取。 Deno KV 重要特性包括: 支持在本地运行或托管 Deno KV 支持无缝集成到开源 Deno runtime 中,允许在本地运行它或将其部署为零配置的托管服务。 在本地运行的时候,Deno KV 由 SQLite 提供支持,为本地开发、测试或单区域生产系统提供轻量级且易于使用的解决方案。 当将应用程序部署到 Deno Deploy 时,D...

4
5
发表了资讯
05/02 07:55

Deno 1.33 发布,Deno 2 也即将推出

Deno 1.33 已发布。与此同时,官方宣布了 Deno 2 的消息,称将于未来几个月内发布,并介绍了关于此版本的开发目标: 提升编码效率:无论是删除配置、样板代码还是构建步骤,团队都在持续让开发者轻松地深入研究代码并立即提高工作效率。这个版本使 LSP 更加健壮,允许任何支持 LSP 的代码编辑器与 Deno 项目一起使用。 提供一流的性能:速度和效率对开发者和用户来说很重要。此版本改进了 HTTP 和 WebSocket 服务器的性能,并为...

5
1
发表了资讯
03/24 08:12

Deno 1.32 发布,增强 Node.js 兼容性

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.32 正式发布,值得关注的更新包括: 增强 Node.js 的兼容性 Deno 在提高与 Node.js 的兼容性方面继续取得重大进展,提供了更顺畅的整体开发者体验。这个版本的主要改进包括: 受控的自动发现: 当设置了 -no-config 和 -no-npm 标志时,package.json 的自动发现功能将被禁用,从而对该过程提供了更大的控制。 新的环境变量...

0
5
发表了资讯
02/27 07:01

Deno 1.31 发布,支持 package.json

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.31 正式发布,值得关注的更新包括: 支持package.json Deno 现在会自动检测到 package.json 并使用它来安装和解决使用的依赖关系 Node-API 的稳定化 Deno 1.31 稳定了 Node-API(又称 N-API),这意味着在使用依赖 Node-API 的 npm 包时,不再需要 -unstable 标志 兼容层现在是运行时的一部分 Deno 1.31 通过将 Node.js ...

4
2
发表了资讯
01/29 07:33

Deno 1.30 发布,内置 Node 模块

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.30 已发布,值得关注的更新包括: 对内置 Node.js 模块的支持 在 Deno 中,npm 包已经可以通过 Deno 的 Node.js 兼容层访问内置的 Node.js 模块,如 fs、path、process 等等。 在这个版本中,这些模块通过 node: specifiers 暴露给 Deno 代码: import { readFileSync } from "node:fs"; console.log(readFileSync("d...

4
4
发表了资讯
2022/12/17 08:08

Deno 1.29 发布,支持自定义 registry、提升质量

Deno 1.29 已正式发布。 主要变化 改进 npm 兼容性 REPL 变更 改进项目质量 DenoAPIs 变更 将附带的 TypeScript 升级到 4.9 标准库模块变更 改进 npm 兼容性 自 1.28.0 以来,此版本具有多项 npm 兼容性改进和 30 多个错误修复。 通过环境变量以实现对自定义 registry 的支持 Deno 现在会遵守NPM_CONFIG_REGISTRY环境变量,允许指定自定义 npm registry。 # change this to a custom registry NPM_CONFIG_REGISTRY=https://...

3
2
发表了资讯
2022/11/17 07:10

Deno 1.28 发布,拥有 130 万个新模块

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.28 已发布,值得关注的更新包括: npm Deno 1.28 稳定了 npm 兼容性,这意味着你现在可以在 Deno 中导入超过 130 万个 npm 模块。构建应用程序将比以往更容易、更安全,现在你可以使用如 Prisma、Mongoose 和 MySQL 等最喜欢的持久性数据模块,以及如 React、Vue 等前端框架。 有了 Deno,使用 npm 就更容易、更安全了。D...

5
3
发表了资讯
2022/10/29 07:33

Deno 1.27 发布,引入 Inlay Hints、改进 npm 兼容性

Deno 1.27 已正式发布。 主要变化 改进语言服务器 /IDE 改进 npm 兼容性 新增navigator.language Web API 改进 deno task 升级检查器 修改 Deno APIs 升级 deno lint V8 10.8 改进 Node.js 兼容性 修改标准库 API 改进语言服务器 / IDE 引入 Inlay Hints(嵌入式提示) TypeScript 在 4.4 版本中增加了对嵌入式提示的支持;Deno 1.27 为 LSP 添加了此功能,嵌入式提示会将小的信息片段内嵌到代码中,显示关于代码的信息。在更多...

4
2
发表了资讯
2022/10/01 07:36

Deno 1.26 发布,新增 Cache Web API、提升性能

Deno 1.26 已正式发布。 主要变化 新增CacheWeb API WebCrypto Secure Curves 新增--allow-syspermission flag 改进对 npm 的支持 优化对 Node.js 的兼容性 针对DenoAPI 的变更 改进 Deno.serve() API 提升性能 优化 module 下载 UI 改进开发者体验 升级 TypeScript 至 4.8 CacheWeb API 此版本添加了对CacheAPI 的支持。该 API 可用于缓存 Request/Response 对象,对于动态生成 response 的场景十分有帮助。它允许缓存 GET 请求...

1
1
发表了资讯
2022/08/29 07:19

Deno 1.25 发布,新增 deno init 命令

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.25 已发布,值得关注的更新包括: deno init 子命令 用 Deno 启动一个新的项目一直很简单:你只需要一个文件就可以开始了。不需要任何配置文件、依赖清单或构建脚本。来自其他生态的用户通常不习惯这种简单性 —— 他们通常会寻找一个工具来搭建一个基本的项目结构。 在这个版本中,Deno 增加了一个 deno init 子命令,用...

0
2
发表了资讯
2022/08/16 08:34

Deno 即将发生大变革

Deno 官方最新发布了一篇博客,分享了其对社区反馈的处理以及未来几个月内对 Deno 功能的规划。具体包括: 开发团队一直在努力进行一些更新,这些更新将允许 Deno 轻松导入 npm 包,并在未来三个月内使绝大多数 npm 包在 Deno 中工作。 其目标是让 Deno 成为最快的 JavaScript 运行时。对于初学者来说,下一个 Deno 版本将包括一个新的 HTTP 服务器。它是有史以来最快的 JavaScript Web 服务器。 鉴于大公司的开发人员和创始人广...

21
8
发表了资讯
2022/08/13 07:35

Deno 1.24.3 发布,JavaScript 运行时

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.24.3 已发布,值得关注的更新包括: fix(ext/fetch): 添加 socks 代理支持 (#15372) feat(unstable/ext/ffi): 为 Deno.UnsafePointerView 添加静态方法变体 (#15146) fix(cli): 允许配置文件也成为 json 模块 (#15444) fix(ext/ffi): 读取时检查 CStr 的 UTF-8 有效性 (#15318) fix(ext/ffi): 不稳定的 op_ffi_unsafe_ca...

0
0
发表了资讯
2022/07/23 07:57

Deno 1.24 发布,JavaScript 运行时

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.24 已发布,值得关注的更新包括: 类型检查和发射的性能改进 以前,当指定 --check 标志时,Deno 内部使用 TypeScript 编译器将 TypeScript 代码转换为 JavaScript,否则就使用 swc。在这个版本中,所有的发射都是用 swc 完成的,这要快得多。 此外,由于一些架构的重构: 发射不再发生在 deno check 中 用来存储发射的 ...

0
1
发表了资讯
2022/06/23 08:20

Deno 完成 2100 万美元 A 轮融资

Deno 运行时背后的同名开发商 Deno 于昨日宣布,它已完成了由红杉领导的 2100 万美元的 A 轮融资,使其融资总额达到 2600 万美元。Deno 首席执行官 Ryan Dahl 表示,此轮融资将帮助他们用于构建 Deno 的商业产品 —— Deno Deploy,并同时开展营销和探索新的业务线。 Deno 是一个基于 Rust 编程语言和 V8 JavaScript 引擎的 JavaScript、TypeScript 和 WebAssembly的运行时。Deno 由 Ryan Dahl 和 Bert Belder 在 2019 年共同创...

5
2
发表了资讯
2022/06/18 07:18

Deno 1.23 正式发布

Deno 1.23 已发布,值得关注的更新包括: 默认不进行类型检查 当要求执行一个程序时,Deno 总是运行一个类型检查。然而,评估和类型检查是完全不同的操作,涉及完全不同的编译器,每个编译器的执行速度也完全不同。评估代码使用 Google 的 V8,而类型检查使用微软的 TypeScript 编译器。类型检查的速度相当慢,而 V8 的启动和评估则非常快。 如果你仍然想要回到以前的行为,请使用 --check 标志。 移除不稳定的 Deno.sleepSync...

3
2
发表了资讯
2022/06/14 07:58

Deno 核心开发者开源 Fresh,宣称是下一代 Web 框架

Deno 核心开发者 Luca Casonato 开源了名为「Fresh」的新项目,并称它是下一代的 Web 框架。 根据官网的介绍,Fresh 是面向 JavaScript 和 TypeScript 开发者的全栈现代 Web 框架,可帮助他们轻松创建高质量、高性能、稳定性好,以及支持定制的 Web 应用。 Fresh 核心是路由框架和模板引擎的组合,支持在服务器上按需渲染页面。除了在服务器中提供的即时 (JIT) 渲染之外,Fresh 还提供了一个接口,用于在客户端上无缝渲染某些组...

51
21
发表了资讯
2022/05/20 07:06

Deno 1.22 发布

Deno 1.22 已发布,主要变化如下: 更新默认的类型检查模式 移除不稳定的Deno.emit(), Deno.formatDiagnostics()和Deno.applySourceMap()API Deno 命名空间在 worker 中默认可用 新增--no-config flag Navigator.userAgent 升级Deno.resolveDns()API 引入新的Response.json()静态方法 在 LSP 默认启用 Linting 升级不稳定的Deno.spawn()API 更新 test runner performance.timeOrigin&performance.toJSON 更新默认的类型检查模式...

3
4
发表了资讯
2022/05/11 08:26

Cloudflare、Deno 和 Node.js 三方合作,改善 JS 互操作性

Cloudflare 宣布正在与 Deno(Deno 运行时背后的开发商)以及 Node.js 技术指导委员会合作,他们将共同创建使开发人员能够在 Deno、Node.js 和 Cloudflare 的 Serverless 应用程序平台(Cloudflare Workers)之间编写代码的标准。这项工作将允许应用程序在 Cloudflare Workers、Deno 和 Node.js 之间相互转移,而不需要重新编写,这是目前暂时无法做到的。 Cloudflare 联合创始人兼首席执行官 Matthew Prince 表示: 数以百万计...

4
3
发表了资讯
2022/05/06 09:03

Node.js 之父谈 JavaScript 容器

Node.js 和 Deno 创始人 Ryan Dahl 昨日发表的《JavaScript Containers》文章提出了一种设想:未来将出现新的类似容器的抽象来简化服务器,大多数 Web 服务可通过 JavaScript 容器而非 Linux 容器进行简化。在这个新兴的服务器抽象层中,JavaScript 取代了 Shell。 此处引用一下阮一峰老师的表述: 他提出一种设想,把 JavaScript 作为容器标准语言。这样的话,容器就能标准化,开发者不必自己构建容器的镜像文件了,直接把 JS...

23
13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
32 评论
75 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部