用于JavaScript和TypeScript的安全运行时的最新更新带来了对文件、网络套接字和stdio的网络流的本地支持
Deno 1.19是用于JavaScript和TypeScript的安全运行时的最新版本,它扩展了对网络流的支持,并引入了一个deno vendor 子命令,用于 "销售 "依赖关系。
在2月17日发布的Deno 1.19中,文件、网络套接字和stdio现在是本地网络流。有了这个特性,Deno.FsFile 和 Deno.Conn 接口分别有readable 和 writable 类型的属性ReadableStream 和WritableStream 。根据发布说明,这使它们能够与其他使用网络流的网络API很好地整合。
Deno的开发者说,由于所有Deno API现在都支持网络流,包括本地的HTTP服务器,现在将API组合在一起很简单。1.19版中还增加了新的内置转化器,CompressionStream 和DeCompressionStream 。这个网络标准的API让开发者以多种文件格式压缩和解压数据,目前是 gzip 和 deflate 。发布说明说,该API已经在Chrome中出现,并将很快在其他浏览器中出现。
对于那些想在他们的代码库中销售他们的Deno应用程序的依赖性的开发者来说,deno vendor 子命令可以用一个或多个要销售的模块的入口点来调用。然后,Deno将通过分析模块的进口和出口,从这些文件中建立一个模块图。然后,生成的模块列表被写入vendor/ 文件夹,其名称尽可能地与原始模块名称相似。deno vendor 子命令是反馈的结果,用户希望在他们的代码库中分组特定的程序依赖性。销售可以用来确保只有一些非常具体的代码被应用程序执行。
开发人员可以通过运行deno upgrade ,升级到Deno 1.19。首次安装Deno的方法可以在发布说明中找到。Deno 1.19的其他新功能和改进:
- DenoHTTP服务器API现在除了支持TCP之外,还支持通过Unix套接字建立的连接。这个API目前是不稳定的。
- 信号监听器的API已经稳定下来。
deno compile现在可以更可靠地工作了,ES模块图 "原封不动 "地被序列化到生成的二进制文件中,而无需捆绑。这解决了之前的一个问题,即在编译过程中,JavaScript程序会被捆绑到一个ES模块中,但代码有时会与捆绑前的行为不一样。Deno.File, Deno对文件系统文件的抽象,已经改名为Deno.FsFile,以清除由于浏览器和Deno中可用的Fileweb API而导致的混乱情况。- Deno已经升级到Google V8 9.9 JavaScript/WebAssembly引擎。