Yeoman 生成器 0.17.0 预发布版 1

大家好,Yeoman 团队的 Simon(Simon)在这里。

核心系统大约一个月没有发布,我们非常高兴地宣布 yeoman-generator 版本 0.17.0-pre。我们的发布周期被延迟了,因为这是一个相当大的版本!

首先,我们在 NPM 上发布了 0.17.0-pre 作为预发布版本。请确保使用 npm install yeoman-generator --tag pre 安装它。

请继续阅读以了解主要更改的概述。

组合性

正如我们在 2014 年路线图 上所述,组合性是我们下一个主要的核心功能。

组合性将允许我们为常见需求编写更小的基本生成器,并使生成器作者能够构建重用它们的更高级别的生成器。这将使工作和改进更加集中。例如,我们只需要一个 CSS 或 Bootstrap 生成器。每个其他生成器都能够专注于其领域问题,并依赖于基本生成器来处理其余问题。

在 0.17 中,我们带来了两项主要改进,以简化组合性问题:运行循环和 composeWith 方法。

运行循环

在 Yeoman 中,生成器原型上的每个方法都是一个任务,并按同步顺序运行。在当前状态下,生成器将运行其所有方法;然后调用另一个生成器,该生成器才会运行。

为了允许生成器真正并排运行,我们需要允许它们一起运行而不是一个接一个地运行。

为了实现这一点,我们实现了一个运行循环,该循环使用特定优先级注册任务。较高优先级将首先运行,较低优先级将在最后运行。

您可以在我们的 新文档 中阅读有关运行循环的完整文档。此文档仍在开发中,并将与 0.17.0 正式版一起发布。

composeWith()

此新方法几乎与之前的 invoke 方法相同。唯一的区别在于它会将组合的生成器添加到运行循环中。

您可以在我们的 新文档 中阅读有关 composeWith 的更多信息。

尽情测试您的生成器

对生成器进行单元测试可能令人生畏。为了减轻痛苦,此版本包含新的测试助手。这些助手创建了一个 RunContext 对象,该对象负责为您设置和运行生成器。

阅读文档 以了解有关它的更多信息!

然后呢?

如您所见,这是一个非常重要的版本。运行循环并非严格意义上的重大更改,但如果名称与优先级“冲突”,则可能会导致问题。

我们发布此预发布版本是为了让您能够对其进行测试,并在将 0.17 的功能刻入石碑之前尽可能多地获得反馈。请更新您的生成器并告诉我们您的感受!

下次再见!


« 查看更多帖子