Deno 1.5

2020-10-28 03:10:10

<;-其他新闻GitHub今天我们发布Deno 1.5.0。此版本包含一些新功能、许多功能稳定和大量错误修复。以下是一些亮点:

新的和改进的捆绑:Deno捆绑Nowhas树抖动,比1.4快15倍。

对REPL的改进:制表符完成、代码语法突出显示和顶级等待现在可用。

如果您已经安装了Deno,您可以通过运行Deno Upgrade升级到1.5。如果您是第一次安装Deno,您可以使用下面列出的方法之一:

自从上次发布以来,我们一直在努力重构我们的整个TypeScript编译器基础设施。正因为如此,我们才能够用基于SWC的新捆绑器取代鼓励捆绑的基础设施。

当我们键入--检查您的代码时,这将导致性能提高3倍,如果您使用--no-check标志,性能将提高15倍。

除了性能改进之外,捆绑程序现在还能够对您的代码进行树形共享。这意味着它将从捆绑包中删除您实际不使用的代码。这导致捆绑包的大小大幅减小。例如,与1.4相比,FILE_SERVER示例的捆绑包在1.5版中要小35%。

捆绑包现在也作为标准ES模块发出,这意味着dynamic icimport现在可以正常工作了,并且port.meta.url也设置正确了。如果您使用Deno为浏览器捆绑代码,请确保现在将捆绑包作为ES模块加载(<;脚本>;标记上的type=";module";属性)。

此版本添加了Web平台API警报、确认和提示。这些功能与浏览器中的功能相同:

报警将一条消息记录到终端,然后同步阻止,直到您确认为止(用[Enter]键)。

确认向用户提示一条消息,然后同步阻止,直到用户回复y或n(表示是或否)。

提示要求用户输入一些内容,并同步阻止,直到用户输入文本并按下[Enter]。

下面是这些功能的实际运行的一个小演示。您可以通过运行Deno Run https://deno.land/posts/v1.5/alert_confirm_prompt.js.来试用它。

REPL进行了重大重构,启用了几个新功能。以下是一些亮点:

按Tab键完成对象属性和方法:要使用此功能,只需按Tab键在属性和方法列表之间循环。

代码语法突出显示:如果您的终端支持颜色,您输入的代码现在语法突出显示。您可以使用NO_COLOREnvironment变量禁用此功能。

顶级等待支持:您现在可以只等待REPL中的承诺,而不必将您的呼叫包装在异步生活中。

此版本默认情况下为所有用户启用solatedModules typecript编译器选项。在1.4版中,使用--unstant的用户启用了此标志。此选项在TypeScript编译器中启用了一些更严格的检查,这些检查可能会导致一些您以前从未见过的新错误:

错误TS1205:提供';--solatedModules';标志时重新导出类型需要使用';导出类型';。

重新导出接口或类型别名时会出现这些错误。要修复该错误,请将您的重新导出更改为使用导出类型。示例:

我们已经稳定了Deno.fsync()、Deno.fdatync()和它们的同步副本。这些低级方法用于确保修改后的文件数据写入磁盘驱动器。

SleepSync()-此函数可用于同步休眠。这将阻塞事件循环,阻塞所有异步操作和JavaScriptExecution。在大多数情况下,您需要使用setTimeout来休眠,因为这不会阻塞事件循环。

Deno.systemCpuInfo()-此函数可用于获取有关机器中可用内核数量以及CPU速度的信息。

Deno lint在这个版本中得到了一些新的规则。主要的是CamelCase:它检查您的所有变量声明是否使用CamelCase格式。我们希望在Deno 1.6中稳定Deno皮棉。

除了新的规则之外,我们还引入了皮棉诊断提示,这些提示将建议如何修复皮棉错误。

最后,Deno lint现在有了一个网站,您可以用它来查看规则的文档和解释。你可以在https://lint.deno.land.上找到它。

Deno fmt--Ignore标志现在可用,但不带--不稳定标志。此标志可用于忽略格式化程序格式化或检查的某些文件或文件夹。

Std/test/asserts.ts中的assertStringContaines和assertArrayConcludes方法已分别重命名为assertStringIncludes和assertArrayIncludes,以便与字符串和数组上的IncludesMethod的命名相匹配。要更新代码,只需重命名导入的方法:

2020-9-14 2:48
2020-5-17 23:49