Deno 1.19开始原生支持网页串流

最新的Deno 1.19,在档案、网络Socket以及标准输入输出皆原生支持网页串流,因此开发者可以很容易地组合使用相关API

Deno 1.19开始原生支持网页串流

由Node.js之父Ryan Dahl所开发JavaScript执行环境Deno,推出了最新1.19版本,该版本两大更新重点在于原生支持网页串流,并且还加入deno vendor子指令,来满足用户自供应(Vendoring)相依项目的需求。

由于Deno开发者希望在代码储存库中,直接管理所使用的相依项目,因此官方在Deno 1.19中,加入deno vendor子指令。 官方解释,过去开发者要达到Vendoring的目的,便要将签入(Check In)DENO_DIR到储存库,虽然这个方法有效,但是却并不方便。 DENO_DIR中的文件是以16进制字符串所构成的非直观名称,从版本控制的角度来说并不好。

Deno 1.19所提供的Vendoring新方法deno vendor子指令,当用户想要对模块一个或是多个进入点Vendoring的时候,Deno能够通过分析模块所有的汇入和导出,并且从这些档案建置模块图,再将生成的模块列表写入到vendor/文件夹中,必要的时候模组名称或许会被更动,以产生有效的档案系统路径, 但系统会尽量维持与原始模块相同。 Deno会产生导入映射表,将所有远程模组映射到本地端vendor文件夹中。

Deno.FsFile和Deno.Conn接口现在分别具有ReadableStream和WritableStream类型的可读和可写属性,所以能够与其他网页流的Web API整合。 由于Deno所有API都支持开箱即用的网页串流,包括原生HTTP服务器,因此开发者可以容易地组合这些API一起使用。

另外,在新版Deno中还添加了内建转换器CompressionStream和DecompressionStream,官方提到,该网页标准API,可以让用户将资料压缩和解压缩成多种档案格式,目前这项API已经先在Chrome中提供,其他浏览器也可能很快地支持这项功能,而Deno也正在与网页标准工作组合作, 要在CompressionStream和DecompressionStream API中,添加受到Chrome、Opera和Firefox浏览器支持的brotli压缩算法。

由于开发者抱怨Deno命令列旗标操作不够友善,当Deno检查权限失败时会抛出异常,而且需要用户每次都提供这些旗标。 因为这种做法太过烦人,因此官方现在做出调整,在Deno 1.19中,当未授予需要的访问权限,命令行会丢出提示,让用户以互动的方式接受或是拒绝每个访问检查。

官方解释,其实这项功能早已在Deno中提供,只是要使用—prompt旗标来启用这项功能,但现在Deno预设启用,如果用户想要停用,则需要使用—no-prompt旗标。 不过这项预设是只有在用户连接至TTY时才会出现,因此不需要在像是CI脚本中使用—no-prompt旗标。

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表评论

登录后才能评论