smartsrh

介绍 Yarn 的新命令 Yarn Create 和即将到来的 Yarn 1.0

smartsrh · 2017-05-29翻译 · 286阅读 原文链接

去年 Javascript 社区推出和改进了许多入门工具项目,其中一些项目还提供专门的命令行工具,比如说 create-react-app,其目的是让项目创建更加容易,方便新手掌握,因此去年对新手而言很幸福。但大多数框架都有自己的工具,各有各的风格和语法。

尽管有这些工具提供方便,但还存在一个问题:用户仍然需要知道如何使用包管理器才能开始一个新项目。他们需要知道全局包和本地包之间有什么区别,以及如何确保可以从 shell 运行二进制文件,因此有时会一些细微的问题。此外,由于这些全局安装的工具需要手动更新,大多数项目都会保留一个小型的cli包装器,它可以下载最新版本的工具。幸运的是,我们正致力于解决这一问题,帮助我们建立更整体化的应用程序:

yarn create

yarn create命令允许使用许多现有的库来构建应用:

  • yarn create react-app my-app

  • yarn create react-native-app my-app

  • yarn create next-app my-app

yarn create运行时会自动安装或者更新需要的包,同时在它的名字前加上create-前缀。运行yarn create react-app时,Yarn 首先会自动运行yarn global add create-react-app,当包安装完成后,Yarn 将运行位于新安装包「package.json」中「bin」字段中的可执行文件,并将剩余的命令行参数传递给该可执行文件。

我们认为保持功能的轻量级和可扩展性是很重要。Yarn 应该是一个轻量级的工具,yarn create也不例外:换句话说,yarn create其实是一个完全不控制结果的工具:我们不会限制你想要创建的任何内容,只是运行create-*包中的相关代码,我们希望社区能够用创造性的方式来使用这个工具。从此以后,创建应用程序只需一条命令! 进而可以轻松地制作包,创建测试、说明文档、更新记录或任何你想要的东西!

注意:create-前缀会加到包名之前。所以,如果您运行yarn create @ng/app,它将安装@ng/create-app包并运行。

其它更新

yarn create只是我们在过去几周内努力工作的成果之一。加上许多开源贡献者的大量贡献,最近的版本还附带以下功能更新和改进:

  • 使用离线镜像不再需要更改 Yarn 的 lockfile (#2970)

  • 现在可以在 yarnrc 文件中设置命令行参数和环境变量 (#3033, #3218)

  • 准备中和预发布的生命周期钩子已实现(#3004)

  • 可以删除只在单个项目里使用的离线镜像 (#2836)

  • 更多其它对 Yarn 的改进 (#3175, #3092)

过去几个月的所有改进和 bug 修复列表可以在我们的 GitHub 发行版块 中找到。我们非常感谢来自代尔夫特理工大学的一个团队:Tim van der Lippe, Chris Langhout, Gijs Weterings and Chak Shun Yu。 他们四人对 Yarn 项目做了出色的分析,并在许多方面提出了改进要求。他们还指出了我们测试覆盖面的遗漏之处,我们新的核心贡献者Simon Vocella 正在改进 Yarn 的测试。

关于 Yarn 1.0 的计划

Yarn 自 7 个月前发布以来已经取得了突破性的进展,该项目的合并请求最近超过了 1,000 次。目前,我们正计划在今年夏天推出 Yarn 1.0,并将进一步提高稳定性,增加新功能以及不可小觑的性能提升。想了解有关 Yarn 现在和未来的更多信息,请观看 Konstantin 的视频 —— 构建高质量 JavaScript 工具

我们感谢你们每一个人的支持,是你们让这个项目越来越好。如果你想赞助 Yarn,可以在 GitHubDiscord 上随时与我们联系。

相关文章