Deno

基于 V8 的 TypeScript 运行时
授权协议 MIT
开发语言 Rust
所属分类 Web应用开发、 浏览器/JS引擎
软件类型 开源软件
地区 不详
投 递 者 邢飞白
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

  • Deno VS Node Node Deno API 引入方式 模块引入 全局对象 模块系统 CommonJS & 新版 node 实验性 ES Module ES Module 浏览器实现 安全 无安全限制 默认安全 Typescript 第三方,如通过 ts-node 支持 原生支持 包管理 npm + node_modules 原生支持 异步操作 回调 Promise 包分发 中心化 npm

 相关资料
  • 基于Mesos运行Spark 背景介绍       Spark有多种集群运行模式,例如:Standalone,Yarn,Mesos。       下面就说一下如何在Mesos上运行Spark,这也是官方推荐的一种运行方式。       在运行Spark之前咱们先简略介绍一下Mesos。       Mesos计算框架是一个集群管理器,提供了有效的、跨分布式的应用或框架的资源隔离和共享,可以运行Ha

  • Deno SaaSKit 是一个开源的高性能 SaaS 模板,用于快速轻松地构建 SaaS。此模板附带每个 SaaS 都需要的基本功能: 用户帐户 用户创建流程 登录页面 定价模块 登录和会话管理 通过 Stripe 进行的订阅计费集成 SEO 友好 Gated API 端点 对移动端友好 Deno SaaSKit 基于 Fresh 和 Deno 构建,因此具有以下特性: 原生支持 TypeScr

  • 我使用下面的TestNG配置来启用Selenium测试的并行执行。 Java代码: 硒测试预计将并行运行。我希望有2个浏览器打开并运行测试脚本。 但我只看到一个浏览器,所有3个测试都一个接一个地运行,而不是并行运行。我尝试过使用“并行”属性的测试、方法、类和实例选项。 有什么帮助吗?

  • 问题内容: 对于具有Java背景的开发人员,我也有兴趣探索使用ASP.NET工具/平台进行软件开发。 Java Web应用程序(.jsp和servlet)可以在许多服务器平台上运行。 问题 :.NET Web应用程序能否在基于Linux的服务器上运行?考虑到无法使用Windows服务器托管Web应用程序的情况。 问题答案: 这取决于您使用的是哪种特定的.NET技术。该Mono项目提供运行ASP.N

  • 我正在使用Scala Play 2.6,并尝试使用依赖注入来实例化基于请求参数的服务类。如下面的示例代码所示,控制器类从查询字符串中获取支付方法 以及处理PayPal或信用卡付款的服务类 对于Play 2.5以后的版本,<code>Play。当前和已被弃用。 我有两个问题: 上面的示例代码是基于请求参数注入类的正确方法吗?还是有其他更好的方法? 对于Play 2.5/2.6,获得应用注射器的方式是