基于 V8 的 TypeScript 运行时 deno

MIT
TypeScript
跨平台
2018-05-31
h4cd

deno

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

的码云指数为
超过 的项目
加载中

评论(24)

robortly
robortly

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

微软家的开发套件不要碰,微软家的开发套件不要碰,微软家的开发套件不要碰
为什么要排斥微软家的东西?🤔
OSC首席键客
OSC首席键客
真牛逼,一开始用go写的,现在又变成用rust写的了。
程序员Tom
程序员Tom
https://github.com/olivewind/awesome-deno/blob/master/resources/design-mistakes-in-node/design-mistakes-in-node-zh.pdf ry 演讲中文翻译
桥头堡2015
桥头堡2015
deno……就是把node倒过来吗
张金富
张金富
鲁迅说:生命在于折腾
夏鱼的鱼
夏鱼的鱼
实在是无力吐槽,刚把nodejs的东西搞明白,你小子又搞事情~
冰力
冰力
乱搞,哈哈哈
AutoPlus
AutoPlus
作者练习 Go 语言的玩具,不用当真。from "https://unpkg.com/deno_testing@0.0.5/testing.ts" 这种导入模块的方法,快乐一时,整个代码仓库会随着时间渐渐完蛋

从项目的 GitHub 星星数看2018年 JavaScript 生态圈

第三年 JavaScript Rising Stars 统计结果出来了,官方分析了 Best of JavaScript 上的项目,比较这些项目过去12个月,在 GitHub 上增加的星标数,将其排名并绘制成图表,呈现 JavaScript 社...

01/20 07:57

deno 0.2.4 发布,基于 V8 的 TypeScript 运行时

Node 之父 Ryan Dahl 的新作 deno 已发布 0.2.4 版本,更新内容如下: 支持 “cargo build” 不再支持 extensionless import 更新至 V8 7.2.502.16 使 stdout 无缓冲 改进 assertEqual 中对不...

2018/12/25 07:29

deno 0.2.1 发布,基于 V8 的 TypeScript 运行时

Node 之父 Ryan Dahl 的新作 deno 已发布 0.2.1 版本,更新内容如下: Allow async functions in REPL (#1233) Handle Location header relative URI (#1240) Add deno.readAll() (#1234) A...

2018/12/03 07:49

deno 0.1.10 发布,基于 V8 的 TypeScript 运行时

Node 之父 Ryan Dahl 的新作 deno 已发布 0.1.10 版本,更新内容如下: Add URLSearchParams (#1049) Implement clone for FetchResponse (#1054) Use content-type headers when importing ...

2018/11/04 07:41

deno v0.1.7 发布,基于 V8 的 TypeScript 运行时

Node 之父 Ryan Dahl 的新作 deno 已发布 0.1.7 版本,更新内容如下: Improve fetch headers (#853) Add deno.truncate (#805) Add copyFile/copyFileSync (#863) Limit depth of output i...

2018/10/09 07:54

deno v0.1.4 发布,基于 V8 的 TypeScript 运行时

Node 之父 Ryan Dahl 的新作 deno 已发布 0.1.4 版本,更新内容如下: Support headers in fetch() 新增大量异步 fs 函数:deno.rename() deno.remove()、deno.removeAll()、deno.removeSync...

2018/09/14 07:43

Ryan Dahl:Node 设计失误值得反思,Deno 将汲取经验

Node 之父 Ryan Dahl 近日在柏林 JS 大会上发表了主题演讲,这也是 Ryan Dahl 做的第二次关于 JS 的公开演讲,第一次是在 2009 年,当时是宣布 Node 项目诞生,而这一次,演讲主题却是 “Des...

2018/06/05 08:28

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

Deno 并不是下一代 Node.js

这几天前端圈最火的事件莫过于 ry(Ryan Dahl) 的新项目 deno 了,很多 IT 新闻和媒体都用了标题:“下一代 Node.js”。这周末读了一遍 deno 的源码,特意写了这篇文章。长文预警(5000字,1...

2018/07/09 14:50
20
0
Deno 并不是下一代 Node.js

这几天前端圈最火的事件莫过于 ry(Ryan Dahl) 的新项目 deno 了,很多 IT 新闻和媒体都用了标题:“下一代 Node.js”。这周末读了一遍 deno 的源码,特意写了这篇文章。长文预警(5000字,1...

2018/06/05 11:48
790
1
好程序员前端分享什么是Deno,它与Node.js的区别

  好程序员前端分享什么是Deno,它与Node.js的区别,Node.js的创建者Ryan Dahl花了一年半的时间研究deno,这是一个新的JavaScript运行时,可以解决Node的所有固有问题。 不要误解我的意思,...

07/29 16:00
4
0
五月新增开源项目:“复刻” Win 95 到 iOS;Grails 框架作者携最新力作登场

五月份开源中国社区收录了相当多的重量级开源项目,如 Node 之父 Ryan Dahl 的 deno,deno 也被认为是下一代 Node;Grails 框架作者的最新力作,微服务应用框架 Micronaut;还有少见的用 Vu...

2018/06/03 21:22
4.3K
2
2018上半年GitHub上最热门的开源项目

关注GitHub的人都知道,这个平台上面有太多优秀的值得学习的开源项目了,这里总结了2018上半年GitHub上最热门的开源项目。 1: tensorflow https://github.com/tensorflow/tensorflow Tensor...

2018/06/27 09:59
91
0
基于开源Dubbo分布式RPC服务框架的部署整合

Dubbo 作为SOA服务化治理方案的核心框架,用于提高业务逻辑的复用、整合、集中管理,具有极高的可靠性(HA)和伸缩性,被应用于阿里巴巴各成员站点,同时在包括JD、当当在内的众多互联网项目...

2015/11/03 15:18
1K
0
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

2018/09/21 17:24
71
0
D2 日报 第153期 2019年7月23日

🔩 开源项目 ➡️ evgeni/qifi 非中文 watch 38 star 652 fork 167 输入 Wi-Fi 名字 + 密码,生成一个二维码分享给别人自动识别 github.com ➡️ ShuangRen/share-api watch 0 star 24 fo...

07/23 10:22
2
0
面试的加分项:懂点 Nginx 反向代理与负载均衡

学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等。用一句别人开玩笑的话来说,java十年前的技术现在还能用,而前端的技术就不是这样的了...

07/10 13:30
23
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部