大家好,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 的功能刻入石碑之前尽可能多地获得反馈。请更新您的生成器并告诉我们您的感受!
下次再见!