内容简介:create-react-app 在2018-09-26发布了2.0版本和2个小版本,目前是2.0.22.0版本之前是1.5.2, 1.5.2版本是2018年2月份发布的,时隔半年之多终于迎来了一次革命性的大改变。虽然React本身不需要任何构建依赖性,但编写一个没有快速测试运行器,生产minizer和模块化代码库的复杂应用程序可能具有挑战性。从第一个版本开始,
create-react-app 在2018-09-26发布了2.0版本和2个小版本,目前是2.0.2
2.0版本之前是1.5.2, 1.5.2版本是2018年2月份发布的,时隔半年之多终于迎来了一次革命性的大改变。
虽然React本身不需要任何构建依赖性,但编写一个没有快速测试运行器,生产minizer和模块化代码库的复杂应用程序可能具有挑战性。从第一个版本开始, Create React App 的目标就是帮助您专注于最重要的事项 - 您的应用程序代码 - 并为您处理构建和测试设置。
它依赖的许多 工具 自那时起发布了包含新功能和性能改进的新版本:Babel 7, webpack 4 和Jest 23。但是,手动更新它们并使它们一起工作需要花费很多精力。这正是 Create React App 2.0贡献者 在过去几个月一直忙于的事情: 迁移配置和依赖项,这样您就不需要自己动手了。
现在Create React App 2.0还没有测试版,让我们看看有什么新东西以及如何尝试它!
注意
不要感到压力升级任何东西。如果您对当前功能集,性能和可靠性感到满意,则可以继续使用当前版本!在生产中切换到2.0之前让2.0版本稳定一点可能也是一个好主意。 复制代码
什么是新的
以下是此版本中新功能的简短摘要:
- :tada:更多样式选项:您可以直接使用 Sass 和 CSS模块 。
- :tropical_fish:我们更新到Babel 7,包括对React片段语法和许多错误修正的支持。
- :package:我们更新到webpack 4,它可以更智能地自动拆分JS包。
- :black_joker:我们更新到Jest 23,其中包括用于查看快照的交互模式。
- :gem:您可以使用 Apollo , Relay Modern , MDX 和其他第三方Babel Macros变换。
- :stars:现在可以将 SVG作为React组件导入 ,并在JSX中使用它。
- :cat2:您可以尝试删除的实验性 Yarn Plug’n’Play mode node_modules。
- 现在,您可以在开发中 插入自己的代理实现 ,以匹配您的后端API。
- :rocket:您现在可以使用 为最新Node版本编写的包 而不会破坏构建。
- :lipstick:如果您只打算定位现代浏览器,现在可以选择获取较小的CSS包。
- :construction_worker:♀️可以选择性使用 Service workers,它使用 Google’sWorkbox 构建。
所有这些功能都是开箱即用的- 要启用它们,请按照以下说明操作。
使用Create React App 2.0启动项目
您无需更新任何特殊内容。从今天开始,当您运行 create-react-app 它时,默认情况下将使用2.0版本的模板。玩的开心!
如果由于某种原因想要 使用旧的1.x模板 ,可以通过--scripts-version=react-scripts@1.x作为参数传递来实现create-react-app。
更新项目以创建React App 2.0
升级到Create React App 2.0通常应该很简单。 package.json 在项目的根目录中打开并找到 react-scripts 。
然后将其版本更改为2.0.3:
// ... other dependencies ... "react-scripts": "2.0.3" 复制代码
运行npm install(或者yarn,如果您使用它)。对于许多项目,修改这一行就足以升级了!
这里有一些技巧可以帮助您入门。
当您 npm start在升级后第一次运行时 ,您会收到一个提示,询问您希望支持哪些浏览器。按y接受默认值。它们会写入您的package.json,您可以随时编辑它们。如果您只针对现代浏览器,则创建React App将使用此信息生成较小的CSS包。
如果npm start升级后仍然无法正常工作, 请查看发行说明中更详细的迁移说明 。有是此版本中的几个重大的变动,但他们的范围是有限的,所以他们不应该超过几个小时进行梳理。请注意,现在可以选择 支持旧版浏览器 以减少polyfill的大小。
如果您之前已经弹出但现在想要升级,一个常见的解决方案是找到您弹出的提交(以及任何后续提交更改配置),还原它们,升级,然后再选择再次弹出。您现在支持开箱即用的功能(可能是Sass或CSS模块?)也是可能的。
注意
由于npm中可能存在错误,您可能会看到有关未满足的对等依赖项的警告。你应该可以忽略它们。据我们所知,Yarn没有这个问题。 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 持续集成:数据库集成及快速构建
- ShareSDK集成及集成后遇到的一些问题【原创】
- 持续集成与持续部署宝典Part 3:创建集成环境
- 持续集成与持续部署宝典Part 2:创建持续集成流水线
- 禅道 12.3.stable 版本发布,全面集成八种单元测试框架,打通持续集成闭环
- 持续集成将死
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Release It!
Michael T. Nygard / Pragmatic Bookshelf / 2007-03-30 / USD 34.95
“Feature complete” is not the same as “production ready.” Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to......一起来看看 《Release It!》 这本书的介绍吧!