Deno 1.13强调了HTTP服务器API的稳定性

102 阅读2分钟

Deno 1.13强调了HTTP服务器API的稳定性

现在建议JavaScript/TypeScript运行时的用户升级到本地HTTP服务器。

Ged Carroll (CC BY 2.0)

8月10日发布的Deno 1.13作为JavaScript/TypeScript运行时的升级版,稳定了本地HTTP服务器API,使Deno能够开箱即用,为多种变体的HTTP流量服务。

随着API达到稳定状态,Deno现在可以提供HTTP/1.1和HTTP/2流量。该系统将超网络服务器作为一个JavaScript API公开。我们鼓励目前使用std/http 的开发者升级到本地HTTP服务器,因为std/http 将在即将发布的版本中被删除。HTTP服务器API是在4月份的Deno 1.9中引入的。

Deno的安装说明可以在deno.land网页上找到。Deno 1.13的发布说明中引用的其他功能包括。

  • 一个self.structuredClone 函数暴露了结构化克隆算法,该算法用于在网络工作者和MessagePort之间传递消息,是一种习惯性的异步API。这种算法可以深度克隆JavaScript值,并支持循环对象引用。
  • 一个DENO_TLS_CA_STORE 环境变量可以用来切换Deno为TLS所信任的证书机构。
  • 一个–-unsafely-ignore-certificate-errors 标志可以禁用SSL证书验证。Deno的支持者注意到这是一个危险的设置,它不应该被用来消除证书错误。
  • 更多的功能被添加到WebCrypto APIs中,例如crypto.subtle.verify ,现在支持验证由基于哈希的消息验证码(HMAC)密钥创建的签名。
  • Deno语言服务器和Visual Studio代码扩展已经更新,并进行了改进,如语言服务器增加了一个deno.cache ,可以通过编辑器设置。这可以将语言服务器配置为使用Deno的缓存主管的特定路径。另外,重构代码行动现在可用于JavaScript和TypeScript文件,为常见的任务提供重构,如将代码提取到函数和常量。
  • 对于REPL,函数、类或TypeScript类型之前的导出关键字现在将被忽略。这在从模块中复制和粘贴代码片段到 REPL 时非常有用。另外,REPL现在有一个—eval 标志,用于在用户进入REPL之前在JS运行时运行代码。
  • Deno.permissions API 已被更新;在查询 "读"、"写 "和 "运行 "权限时,它现在除了接受字符串外还接受 URL。
  • 原生插件系统已经被一个更通用的外国函数接口(FFI)API所取代,该API可以直接从Deno调用用Rust以外的语言编写的库。该API在这个版本中是不稳定的。
  • V8 JavaScript引擎已经更新到9.3版本。

Deno被定位为Node.js运行时的一个更安全的替代品。Deno的1.0版本于2020年5月发布,此后又发布了几个点版本。