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 指数为
超过 的项目

评论 (31)

加载中
打分: 还行
来年出个 done
2021/03/31 17:05
回复
举报
是我理解能力有问题还是这是新解释方法,什么叫 “Deno 基于 V8 的 TypeScript 运行时”
2021/02/02 10:45
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
我去,刚发现这俩单词是前后颠倒了一下
2020/11/03 18:36
回复
举报
666
2020/11/05 18:24
回复
举报

引用来自“土拨薯啊”的评论

微软家的开发套件不要碰,微软家的开发套件不要碰,微软家的开发套件不要碰
为什么要排斥微软家的东西?🤔
2019/01/21 00:38
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
https://github.com/olivewind/awesome-deno/blob/master/resources/design-mistakes-in-node/design-mistakes-in-node-zh.pdf ry 演讲中文翻译
2018/06/04 11:30
回复
举报
deno……就是把node倒过来吗
2018/06/01 17:27
回复
举报
destory node 前两个字母的组合
2020/05/19 09:50
回复
举报
打分: 力荐
鲁迅说:生命在于折腾
2018/06/01 16:37
回复
举报
更多评论
发表了资讯
2021/12/25 07:27

Deno 1.17.1 发布,JavaScript 运行时

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.17.1 已发布,包括以下变更: 功能:为调试测试添加 Code lens (#13138) 功能:在获取注册表配置时提供接受 header 信息(#13159) 修复了在使用 --inspect 或 --inspect-brk 标志运行时打印到终端的提示 (#13123) 修复:按字符索引拆分源代码 (#13114) 修复:读取字符串时使用 c_char 而不是 i8 (#13118) 修复:WebSocket...

0
1
发表了资讯
2021/12/14 08:39

Deno 加入 ECMA ,共同制定 JavaScript 标准

Deno 是 Node.js 之父 Ryan Dahl 建立的公司,旨在成为现代 JavaScript 开发人员的最佳运行时,为服务器端 JavaScript 注入新生命。Deno 并不是一个固定的庞大系统,而是一套可以根据各种需求而重新调整使用的技术合集,如的 Promises、async/await、ES 模块和异步迭代器等一流技术。 为了确保 JavaScript 未来的演进继续适用于 Deno 和一般的服务器端 JavaScript 运行时,Deno 公司 加入了 ECMA International,这是负责 Java...

10
2
2021/11/11 07:42

Deno 1.16 发布,引入新的 Deno.addSignalListener API

Deno 1.16 已发布,包括以下新特性和变更: fetch 现在支持获取文件 URL; V8 更新至 9.7 版; 支持 React 17 中的新 JSX 转换; 新的Deno.addSignalListener API,用于侦听操作系统信号; Error.cause 现在显示在控制台中,这对于调试发生在应用程序内部深处的错误非常有用; 现在可以明确地完成握手 TLS 连接,此版本向Deno.TlsConn中增加了handshake()方法; Web Streams API 的改进 Deno 1.16 稳定了Deno.startTls API,这使...

3
0
2021/10/26 06:15

Deno v1.15.2 发布,主要修复一些 bug

Deno v1.15.2 发布,此版本包含了一些错误修复,具体更新内容如下: eat(unstable): 用于兼容模式的节点 CJS 和 ESM 解析器。(#12424) fix(cli): 为 tsc 重新启用 allowSyntheticDefaultImports 。(#12435) fix(cli/fmt_errors): 无需担心源代码的行格式错误。 (#12449) fix(cli/tests): 从消息处理程序中移除 worker 测试声明。 (#12439) fix(console): 修复原始包装器对象的显示方式。 (#12425) fix(core): 主动取消后不再轮询...

3
0
发表了资讯
2021/09/24 07:54

Deno 1.14 正式发布,引入新的 Web Crypto API

Deno 1.14 已发布,包括以下新特性和变更: 引入新的 Web Crypto API 增加针对deno lint 和 deno fmt的自定义选项 引入 URLPattern 原生服务器端 WebSocket API 进入稳定状态 worker 之间的零拷贝 ArrayBuffer 传输 引入 File locking API 对 OS signals API 的更改 在 fetch中提供 Mutual TLS 支持 在DENO_AUTH_TOKENS中提供基本身份验证支持 URL 解析速度提升了 3 倍 支持为子进程指定gid 和 uid 更快的 std/http 模块 更新 ...

3
8
发表了资讯
2021/08/25 08:27

Deno on MDN

Deno 的兼容性数据现已可以在 MDN 上的兼容性图表中找到。官方博客指出,Deno 拥护现代 Web API。他们认为,当功能被添加到 runtime 时,最好的就是以 Web API 的形式。此举既对开发者有利,因为他们已经熟悉这些 API;也对 Deno 有利,因为可以利用现有的测试。 Web API 拥有大量的文档,搜索"fetch javascript"就能得到数以亿计的结果。而在 Deno 看来,Web 平台文档的最佳来源就是 MDN,MDN 中包含了大约 11000 页的文档、指...

1
5
发表了资讯
2021/08/15 07:51

Deno 1.13 稳定版发布

Deno 1.13 稳定版已发布,主要包含以下新特性和变更: 原生 HTTP server API 到达稳定状态 支持 self.structuredClone() 针对 TLS 使用系统证书存储 (system certificate store) 支持禁用 TLS 验证以进行测试 升级 WebCrypto APIs 升级 Deno 语言服务器和 VSCode 扩展 改进 REPL 支持 navigator.hardwareConcurrency API 升级 V8 至 9.3 在 deno info 中使用类型引用(Type references) 在 writeFile 中提供 AbortSignal 支持 在...

0
3
发表了资讯
2021/06/11 07:28

Deno 1.11 发布,增加官方 Docker 镜像

Deno 1.11.0 已正式发布,此版本增加了不少新特性,以及修复错误。 主要变化包括: 新增官方 Docker 镜像 Abortable fetch:以 Web 兼容的方式终止正在进行的 fetch 请求 引入更多 Web Crypto APIs:支持crypto.subtle.digest 和crypto.randomUUID deno lint 到达稳定状态:deno lint 比 ESLint 快一倍 BroadcastChannel:支持浏览器 API 在 Web worker 之间广播消息 TextEncoderStream和TextDecoderStream:用于流文本的 Web ...

5
3
发表了资讯
2021/05/19 07:59

Deno 1.10 发布:改进内置 test runner、新增 Web Storage API

Deno 1.10 已正式发布,此版本包含许多新功能、性能优化以及错误修复。 改进内置的 test runner 在 Web Workers 中支持结构化克隆 (structured clone) 新增 Web Storage API 支持远程导入映射 (maps) 如果已经安装了 Deno,运行deno upgrade命令即可升级到 1.10 版本。如果是首次安装,可以参考下面的方法: # Using Shell (macOS and Linux): curl -fsSL https://deno.land/x/install/install.sh | sh # Using PowerShe...

0
3
2021/04/25 07:05

Deno 1.9.2 发布,bug 修复

Deno 1.9.2 现已发布,此版本包含了一些错误修复,具体更新内容如下: 修复:正确解析 websocket 消息(#10318) 修复:M1 上的 standalone bin 损坏(#10311) 修复:不要让内部错误 frames gray-out(#10293) fix(op_crates/fetch):响应 inspect regression(#10295) fix(runtime):在未找到 cwd 时不要 panic(#10238) fix(op_crates/webgpu):必要时移动非空操作缓冲区参数检查(#10319) fix(lsp):文档符号性能...

5
0
发表了资讯
2021/04/16 07:13

Deno 1.9 发布:新增原生 HTTP/2 Web 服务器、优化 Rust 调用效率

Deno 1.9 已正式发布,此版本包含许多新功能、性能优化以及错误修复。 原生 HTTP/2 Web 服务器:Deno 新增了一个快速且功能完整的 HTTP 服务器 使用 serde_v8 更快地调用 Rust:整体性能大约优化了 98% 支持 Blob URL & 优化fetch:新的 Web 兼容性功能 在 LSP 中支持自动补全 import:支持在本地、远程和注册补全场景中使用 具有交互的权限提示:以交互的方式提示正在使用的权限,而不是事先声明它们 如果已经安装了 Deno,运行...

13
7
发表于行业趋势专区
2021/03/31 08:25

Node.js 之父 Ryan Dahl 成立 Deno 公司,不影响开源

Deno & Node.js 作者 Ryan Dahl 和联合创始人 Bert Belder 宣布成立了 Deno 公司。 Ryan Dahl 和 Bert Belder 在博客中阐述了对 Deno 的愿景,以及 Deno 对于 Web 开发的意义。他们相信 JavaScript 将在未来很长一段时间内存在于互联网,并且会是速度最快、最受欢迎且唯一具有工业标准化流程的语言。他们还提到了曾创建的 Node.js 项目,并表示此项目虽然取得了一定成功,但同时他们也发现服务器端 JavaScript 发展得如此的支离...

8
6
2021/03/11 07:24

Deno 1.8.1 发布,基于 V8 的 TypeScript 运行时

Deno 1.8.1 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: fix(cli/ast):将 importsNotUsedAsValues 传递给 swc(#9714) fix(cli/compile):请勿根据 target 附加 .exe(#9668) fix(cli/coverage):确保 single line functions 不会产生 false positives(#9717) fix(core): 发生 js 错误时 shared queue assertion 失败 fix(runtime):添加导航器界面对象(#9685) fix(runtime/web_work...

9
0
发表于大前端专区
2021/03/04 07:06

Deno 1.8 发布:实验性支持 WebGPU API、导入映射已稳定

Deno 1.8 已正式发布,此版本包含许多新功能以及稳定化的改进。 实验性支持 WebGPU API:主要是为在 Deno 中支持开箱即用的 CPU 加速机器学习做准备 启用内置的国际化 API:所有 JS Intl API 支持开箱即用 改进测试覆盖工具:覆盖工具支持输出lcov报告 导入映射 (Import maps) 已处于稳定状态:重写 Web 兼容性的依赖关系已正式生效 支持获取私有模块:可使用身份验证令牌从私有服务器获取远程模块 如果已经安装了 Deno,运行d...

4
4
2021/02/18 07:03

Deno 1.7.4 发布,基于 V8 的 TypeScript 运行时

Deno 1.7.4 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: feat(unstable, lsp):添加 deno 缓存代码动作(#9471) feat(unstable, lsp):添加 implementations code lens(#9441) fix(cli):在外部源映射之前检查内联源映射(#9394) fix(cli):修复 WebSocket close(#8776) fix(cli):导入 maps handles data URLs(#9437) fix(lsp):正确处理 type deps(#9436) fix(lsp):当配置改变...

7
0
2021/02/08 07:32

Deno 1.7.2 发布,基于 V8 的 TypeScript 运行时

Deno 1.7.2 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: feat(lsp, unstable):添加 references code lens(#9316) feat(lsp, unstable):添加 TS 快速修复代码操作(#9396) 修复:改进 http client builder error message(#9380) fix(cli):修复对 non-normalized specifier 的处理(#9357) fix(cli/coverage):显示映射的 instrumentation line counts(#9310) fix(repl):防止 symb...

1
1
2021/02/02 07:03

Deno 1.7.1 发布,基于 V8 的 TypeScript 运行时

Deno 1.7.1 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: feat(lsp, unstable):添加性能测量(#9209) fix(cli):IO resource types,修复并发读/写和 graceful close(#9118) fix(cli):将 WorkerOptions::deno 类型移动到 unstable(#9163) fix(cli):添加 lib dom.asynciterable(#9288) fix(core):处理 prepareStackTrace() throws(#9211) fix(coverage):忽略 comments(#8639)...

4
1
2021/01/21 07:03

Deno 1.7.0 发布,基于 V8 的 TypeScript 运行时

Deno 1.7.0 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: BREAKING(unstable):将 hosts 用于 net allowlists BREAKING(unstable):删除 CreateHttpClientOptions.caFile feat(install):在 Windows 上添加对 MSYS 的支持 feat(unstable):添加 Deno.resolveDns API feat(unstable):运行时编译器 API 合并到 Deno.emit() feat:将 WorkerOptions 接口添加到类型声明中 feat: 为 Workers 添加可配...

1
1
发表于大前端专区
2021/01/19 08:06

Deno 2020 回顾:API 稳定、1.0 发布、重构大型基础设施

Deno 作者 Ryan Dahl 和另一名核心开发者 Bartek Iwańczuk 发表博客回顾了 Deno 的 2020,其中主要的事件包括:API 稳定、对多项大型基础设施进行重构以及发布 1.0 正式版等。 Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是基于 V8 引擎的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。 Deno 从诞生到发布 1.0 正式版刚好经历了两年,下面是对它在 2020 的...

19
5
2021/01/01 11:37

Deno 1.6.3 发布,基于 V8 的 TypeScript 运行时

Deno 1.6.3 现已发布,Deno 是 V8 上的安全 TypeScript 运行时。 此版本更新内容如下: feat(lsp):实现 textDocument/rename feat(lsp):添加缓存命令 feat(unstable):从 run command 收集 coverage fix(core):修复 Promise.all 错误报告中的错误索引 fix(lsp):更好地处理 ts 调试错误 fix(lsp): 为未解决的模块提供诊断 升级:dprint、swc_bundler、swc_common、swc_ecmascript、 升级:rusty_v8 0.15.0、v8 8.8.294 Chan...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于大前端专区
2020/05/22 17:57

从 Node 到 Deno

每日前端夜话第338篇 翻译:疯狂的技术宅 作者:Aral Roca 来源:aralroca 正文共:8941 字 预计阅读时间:15 分钟 我收集了一些 Node 中最常用的主题,并寻找 Deno 的替代方案。首先我想说明,许多当前的 Node.js 模块都可以都可以用在 Deno 中。由于许多模块都是可重用的,所以没有必要为所有方法去寻找替代方案。你可以访问 pika.dev 查找可以在 Deno 中使用的模块。 本文将涵盖以下内容: Electron 通过 Node.js,我们可以使...

0
3
发表了博客
2020/06/18 09:29

Deno 是代码的浏览器

2018 年 5 月,Ry 公开 Deno 的原型后不久我就开始参与这个项目了。对于 Deno,人们最常问的一个问题是“包管理器跑哪儿去了?”很多时候这都算不上问题,而只是一种吐槽。他们会说“我知道 Deno 很重视安全性,可是从互联网下载资源是不安全的。”或“没包管理器我该怎么管理依赖项啊?” 在我看来,我们应该改变自己的思维模式。因为包管理器和中心化代码库随处可见,所以很多人把它们当成了理所当然的需求。问题在于它们的流...

0
1
发表于大前端专区
2020/05/15 17:59

Deno 意味着什么?

每日前端夜话第334篇 翻译:疯狂的技术宅 作者:Arek Nawo 来源:areknawo 正文共:2628 字 预计阅读时间:6 分钟 如果你一直关注 Web 开发领域,那么最近可能已经听到了很多关于 Deno 的信息——一种新的 JavaScript 运行时,它可能也会被认为是 Node.js 的继承者。但是这意味着什么,我们需要“下一个 Node.js” 吗? 什么是 Deno? 要了解发生了什么,我们首先需要看一下 Deno 到底是什么。就像我前面说过的那样,这是一个新...

0
1
2020/06/24 07:46

Deno MySQl ORM

视频演示 https://www.bilibili.com/video/BV1BT4y1E7Nh/?p=14 一起来完成以下步骤: 创建数据库连接 创建Model,也就是实体类 写新增、修改、查询和删除 运行:deno run --allow-net --allow-read --allow-write main.ts #controllers/employeeController.ts //引入Context import { Context } from "https://deno.land/x/oak/mod.ts"; //引入仓库类 import employeeRepo from "../repositories/employeeRepo.ts"; //获取当...

0
0
发表于大前端专区
2020/05/09 17:57

两分钟了解 Deno

两分钟了解 Deno 展开 本文分享自微信公众号 - 前端先锋(jingchengyideng)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
31 评论
71 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部