Deno 1.24 发布,JavaScript 运行时


Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。

Deno 1.24 已发布,值得关注的更新包括:

类型检查和发射的性能改进

以前,当指定 --check 标志时,Deno 内部使用 TypeScript 编译器将 TypeScript 代码转换为 JavaScript,否则就使用 swc。在这个版本中,所有的发射都是用 swc 完成的,这要快得多。

此外,由于一些架构的重构:

  • 发射不再发生在 deno check
  • 用来存储发射的 JavaScript 的缓存更加强大
  • 如果 Deno 在过去已经成功地对某些代码进行了类型检查,那么它将更聪明地不进行类型检查。

总的来说,这些改进应该有相当大的性能改善,但会因代码库的不同而不同。

unhandledrejection 事件

这个版本增加了对 unhandledrejection 事件的支持。

beforeunload 事件

这个版本增加了对 beforeunload 事件的支持。当事件循环没有更多的工作要做并即将退出时,该事件被触发。安排更多的异步工作(如定时器或网络请求)将导致程序继续。

import.meta.resolve() API

Deno 从 v1.0 开始支持 import.meta。两个可用的选项是 import.meta.urlimport.meta.main,这个版本增加了对 import.meta.resolve() API 的支持,它可以让你解决相对于当前模块的指定器。

FFI API 的改进

这个版本在不稳定的 FFI API 中增加了新的功能和性能改进

对新的子进程 API 的更新

在 Deno v1.21 中,引入了一个新的不稳定的子进程 API。这个版本对这个 API 进行了重大更新。

LSP 改进

这个版本在编辑器中提供了更好的自动导入支持,不再像以前在某些情况下需要缓存依赖关系后重新启动 LSP。

更多详情可查看:https://github.com/denoland/deno/releases


相关文章

2022-08-13

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.24.3 已发布,值得关注的更新包括: fix(ext/fetch): 添加 socks 代理支持 (#15372) feat(unstable/ext/ffi): 为 Deno.UnsafePointerView 添加静态方法

2022-06-23

探索新的业务线。 Deno 是一个基于 Rust 编程语言和 V8 JavaScript 引擎的 JavaScript、TypeScript 和 WebAssembly的运行时。Deno 由 Ryan Dahl 和 Bert Belder 在 2019 年共同创建,在创建 Deno 之前,Ryan Dahl 更是以创建了 Node.js 而闻名,而后者 Bert Be

2022-06-30

。默认情况下,使用 Fresh 构建的网页不会向客户端发送 JavaScript。该框架没有构建步骤,可以将部署时间缩短一个数量级。近日,Fresh 发布了第一个稳定版本。 Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS

2022-06-14

是下一代的 Web 框架。 根据官网的介绍,Fresh 是面向 JavaScript 和 TypeScript 开发者的全栈现代 Web 框架,可帮助他们轻松创建高质量、高性能、稳定性好,以及支持定制的 Web 应用。 Fresh 核心是路由框架和模板引擎的组合,支持

2022-09-12

。默认情况下,使用 Fresh 构建的网页不会向客户端发送 JavaScript。该框架没有构建步骤,可以将部署时间缩短一个数量级。 Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS 发送给客户端。因为大多数渲染在服务

2022-08-29

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.25 已发布,值得关注的更新包括: deno init 子命令 用 Deno 启动一个新的项目一直很简单:你只需要一个文件就可以开始了。不需要

2022-08-26

新兴的 JavaScript 运行时 Bun 宣布已经获得了一些支持资金。公告指出,旨在支持该项目并将其商业化而成立的公司 Oven 已经筹集了 700 万美元的资金,由风险投资机构 Kleiner Perkins 领投。 Bun 的作者 Jarred Sumner 花了

2022-06-18

Deno 1.23 已发布,值得关注的更新包括: 默认不进行类型检查 当要求执行一个程序时,Deno 总是运行一个类型检查。然而,评估和类型检查是完全不同的操作,涉及完全不同的编译器,每个编译器的执行速度也完全不同。评估代

2022-03-21

转移到了一个基金会。 之后,Dahl 提出了 Deno,另一个 JavaScript 运行时(Node 的变形)。并在一次名为"10 Things I Regret About Node.js"的演讲中公布了这一新项目。Deno旨在为程序员提供比 Node.js 更安全、更高效的服务。Deno 发展迅速,

2022-05-20

Deno 1.22 已发布,主要变化如下: 更新默认的类型检查模式 移除不稳定的Deno.emit(), Deno.formatDiagnostics()和Deno.applySourceMap()API Deno 命名空间在 worker 中默认可用 新增--no-config flag Navigator.userAgent 升级Deno.resolveDns()

2022-03-14

微软日前提出了一项新的提案,在提案中希望可以为 JavaScript 带来可选的类型语法,该提案可能会使 JavaScript 原生自带 TypeScript 的一些特性,使 TypeScript 语言更快、更容易使用。 具体而言,该提案要求将类型标注(Type Annotatio

2022-09-20

宣布将用 Rust 编写的插件作为其官方二进制版本的一部分发布。“经过整整一个月非常恼人的构建系统工作,我们终于可以将用 rustlang 编写的 gstreamer 插件与我们的官方二进制版本一起发布了。” 科技网站 Phoronix 指出

2022-02-22

初的目标是将 C/C++ 代码编译成一种叫做 Asm.js 的 JavaScript 变体。Asm.js 可以在任何浏览器中运行,但它只是 JavaScript 语言的一个子集;有意忽略了 JavaScript 语法中一些比较模糊的特性,留下了一种更加精简的方言;而且最

2022-08-11

。与单页应用程序不同,Astro 的组件不会被捆绑到一个 JavaScript 包中。相反,每个组件都被视为一个独立的小型应用程序,与所有其他组件隔离存在。 Astro 其他特性: 自带组件框架:Astro 为 React、Vue、Svelte 和 Tailwind CSS 等