@lsmn
2016-07-29T06:05:20.000000Z
字数 1296
阅读 3139
Facebook
React
Facebook发布了一款新工具Create React App,希望可以最大可能地减轻开发人员在新建React项目时的痛苦体验。这个命令行工具会为一个简单的React应用创建所有必要的部分,包括构建过程和依赖。
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页面提供了更多有关该工具功能的信息。