Facebook 推出可以简化 React 应用创建的工具

  • David Iffland
  • 谢丽

2016 年 7 月 31 日

话题:JavaScript语言 & 开发

React 团队推出了一款新工具,希望帮助开发人员减轻新建 React 应用所引发的痛苦。

在一篇博文中,Dan Abramov 介绍了Create React App。该工具让开发人员可以使用一行命令新建一个 React 应用程序——包括其构建过程和依赖。这是官方支持的一种 React 应用程序创建方式,不过,它还不是一个和 Ember CLI 或 Angular CLI 本着同样精神的“React CLI”。

开发人员使用三个命令就可以新建一个 React 应用:

npm install -g create-react-app
create-react-app hello-world
npm start

该工具将在现代 React 应用中常见的 Babel 和 Webpack 命令抽象为一个命令集。Abramov 表示,他们之所以构建这个工具,是因为“React 生态系统普遍经历了工具不可阻挡地爆炸式增长”:

综合运用这些工具需要对其中的每一种都有一些使用经验。即便如此,还是很容易陷入同零碎的不兼容、未解决的 peerDependencies 及模糊的配置文件的斗争中。那些工具有许多是插件平台,并不直接知道彼此的存在,需要客户将它们连接在一起。这些工具都是独立的发展和修改,教程很快就过期了。

理论上讲,React 入门并不需要了解很多,但构建生产级应用需要的就多了。随着时间推移,React 社区越来越依赖 Babel 和 Webpack,它们成为默认工具链的一部分。然而,这两项技术却经常让开发人员感到沮丧。例如,Babel 不会对普通安装作任何处理。按照 Andrew Stuart 的说法,Babel默认是无用的。Abramov重新界定了 Babel 的意图,他说,“Babel 没有错,它只是想要成为一个更为底层的工具。在我看来,你不能(应该)基于它进行构建。”

有经验的 React 开发人员已经给出了对他们来说行得通的构建过程。这个新工具将帮助社区里的其他人,让那些没有 React 经验的人可以更快地入门。“Eject”特性让那些超过工具发展速度的人可以不受其约束,走自己的路。Reddit 用户a_simple_pie 评论说

“Eject”真是这方面的一个杀手级特性。我想做的第一件事是增加 SASS 支持,因此,能够 eject 很棒。

按照Abramov 的说法,Create React App 目前还不具备一个完整 CLI 工具的广度,这是正常的,因为它是“一个用一周时间创建的黑客马拉松项目”。他们还会继续增强该工具的功能,比如增加测试。但是,据 Abramov 说,他们不会在短时间内做太多工作,他们会“逐步改进默认设置,覆盖更多的用例。”

该项目的GitHub 页面提供了更多有关该工具功能的信息。

查看英文原文Facebook Launches Tool to Easily Create React Apps

JavaScript语言 & 开发