Deno是V8上的安全TypeScript运行时。
支持TypeScript2.8开箱即用,使用V86.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
旨在兼容浏览器
可以作为库来引入,以轻松构建自己的JavaScriptruntimehttps://github.com/ry/deno/blob/master/cmd/main.go
评论