10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

  • 2016-07-31
  • 本文字数:1000 字

    阅读完需:约 3 分钟

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

2016-07-31 19:005105
用户头像

发布了 1008 篇内容, 共 433.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

Crypto巨头们纷纷聚焦“Building platonic”,PlatoFarm会是解决方案吗?

西柚子

模块2作业

Geek_701557

值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢

迷彩

MySQL 数据库 大数据运维 5月月更

AbstractFactoryPattern-抽象工厂模式

梁歪歪 ♚

设计模式

leetcode 153. Find Minimum in Rotated Sorted Array 寻找旋转排序数组中的最小值(中)

okokabcd

LeetCode 查找

带你读顶会论文丨基于溯源图的APT攻击检测

华为云开发者联盟

安全

研发效能团队规模、职能划分和优劣势分析概述(第一篇)

laofo

DevOps cicd 研发效能 组织架构 平台建设

高性能 PHP 应用容器之 Workerman

CRMEB

Sa-Token 单点登录 SSO模式二 URL重定向传播会话示例

Java 登录验证 SaToken

LabVIEW控制Arduino实现示波器(基础篇—7)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT Arduino实现示波器

密码学系列之:X.690和对应的BER CER DER编码

程序那些事

密码学 程序那些事 5月月更

哈希能作弊吗?哈希竞猜游戏防作弊系统开发逻辑(稳定运营)

开发微hkkf5566

GitOps自问自答

俞凡

最佳实践 研发效能 gitops

架构实战营模块2课后作业

Geek_53787a

贪心算法:Dota2 参议院 🏯

空城机

LeetCode 5月月更

LabVIEW控制Arduino实现模拟数据采集(基础篇—8)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 模拟数据采集

Java设计模式系列学习

梁歪歪 ♚

设计模式

FactoryMethodPattern-工厂方法模式

梁歪歪 ♚

设计模式

【LeetCode】检查句子中的数字是否递增Java题解

Albert

LeetCode 5月月更

带你认识String类

开发微hkkf5566

微信朋友圈的复杂度

爱晒太阳的大白

LabVIEW控制Arduino实现舵机联控(基础篇—9)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 舵机联控

Crypto巨头们ALL IN元宇宙,PlatoFarm或能突围

BlockChain先知

什么是区块哈希?哈希趣投娱乐竞猜游戏开发逻辑(成熟源码)

开发微hkkf5566

SingletonPattern-单例模式

梁歪歪 ♚

设计模式

云图说丨每个成功的业务系统离不开API网关(APIG)的保驾护航

华为云开发者联盟

云计算 华为云 API网关 业务系统 APIG

解析数仓lazyagg查询重写优化规则

华为云开发者联盟

数据库

借势双碳东风:干“实事”的“虚拟”电厂

脑极体

LabVIEW控制Arduino实现RGB调色灯(基础篇—6)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT RGB调色灯

LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 驱动1602液晶显示屏

三、KVM管理工具

穿过生命散发芬芳

kvm 5月月更

Facebook推出可以简化React应用创建的工具_JavaScript_David Iffland_InfoQ精选文章