微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

deno 基于 V8 的 TypeScript 运行时

程序名称:deno

授权协议: MIT

操作系统: 跨平台

开发语言: TypeScript

deno 介绍

deno

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

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

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

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

    import { test } from "https://unpkg.com/[email protected]/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

deno 官网

https://github.com/denoland/deno

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐