作为React的忠实支持者,作者使用Create-React-App(CRA)+Customize-Cra来构建一个项目,并且已经使用此开发模板已有一年多了,但是上周,React-Scripts&React18上周被升级。在此过程中,发现CRA项目升级React18带来了20+错误,这导致该项目不运行。即使我努力解决异常,我发现我的一些移动项目是我的一些移动项目在PX2REM功能中,没有工作。我开始烦恼并开始考虑最原始的问题:作为React开发人员,我需要什么来开发环境?
什么是CRA?
为了开发React项目,如何快速建立友好,可靠和自我优化的环境非常繁琐。您不仅需要注意Babel,而且还需要学习各种WebPack配置,以及如何优化性能优化会花费大量时间,它可能会忙于很长一段时间异常。
关于这个问题,尽管行业巨头Facebook给出了答案:Create-react-App(称为CRA),但CRA的开发环境非常简单。尽管它提供了许多配置,但它并不容易使用。Demo,他非常有能力。但是,如果它用于生产,实际上,我们仍然需要添加很多东西并更改许多WebPack配置。例如
当我们想对CRA进行一些扩展并且无法直接弹出时,Customize-CRA是当前的最佳解决方案,但它也会引入配置文件,例如Config-Orderrides。这不是零配置的最初意图。customize-cra仍然会将我们带回我们不熟悉的Webpack。
结果,我开始思考。当我站在React Junior Developter的角度时,我希望我的项目在生产上运行,并且无需担心WebPack配置。绩效优化/分数/CDN,他随时支持新技术,请拥抱最新的React版本。
由于上述原因,我开始探索我的脚本以替换CRA构建的脚本
我会告诉你我在做什么:
首先,我拉了最新的CRA项目,然后将他弹出。目前,我可以获得最原始的CRA项目的WebPack配置
然后,我构建了一个新的GitHub+NPM项目:基于弹出的代码,进行一些自定义开发。
如果您刚刚开始考虑该项目的构建,柠檬建议您使用柠檬反应应用。这是一个已集成了柠檬书的使用的React应用程序。项目配置面临更多工程的生产,并支持移动终端。在其上投入,并支持React18。
如果您已经有一个现成的React项目,则可以使用类似的柠檬稿
但是,React项目的复杂性正在不断变化。每个人都不同。柠檬书不能保证某些工作。此外,您不需要的这些事情,或者您正在使用柠檬脚本并遇到问题。您可以首先查看以下说明文件。如果您没有解决问题,欢迎提及。
如果您使用的是CRA,则可以直接安装柠檬书,我可以告诉您CRA不是什么。Lemon-Scripts已根据CRA内置反应式订阅进行了一些功能扩展
Lemon-Scripts致力于将React-Script推向生产,并真正允许React开发人员打开盒子并尽可能多地提供包装性能。
当然,在柠檬书中,CRA项目的所有配置和功能都像以往一样受支持并不断更新,并提供了以下扩展名。
CRA项目太纯净了。快速启动项目开始项目可能有点困难。
通过替换SCSS规律性,并引入减少载荷,请注意,原始CRA不支持较少
一些工具库已提前在柠檬书中完成,并且一些稳定的库不需要存储在经常包装的CDN中,例如React。我们努力在开发前提供一个完整的纯环境,以便您的捆绑包仅包含您的业务代码。可以看出,我们选择了一系列工具库来获取CDN,从而节省了施工时间和包装效率。
请注意,由于柠檬脚本带来了支持,将以下依赖项拉入cdn.reect. |React-Dom |React-Router-Dom |React-Router |mobx |Axios |MOBX反应lite。
如果您不需要这些CDN,则可以在package.json中添加配置。
Lemon-Scripts使用Qi Niuyun作为CDN服务。如果要使用自己的CDN,则可以将配置添加到软件包。JSON替换:
如果要进行移动项目,则可以在包装中设置设计尺寸375/750/xxx等。
柠檬脚本已经构建了WebPack分析插件。如何打开分析,只需要命令行才能添加-nalyze
在项目中,我想要别名,因为柠檬项目是一个TS项目,因此在柠檬录设计的开头,它将自动从tsconfig.paths.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.json.您可以通过使用柠檬书的别名找到它,这使那些使用TS&Custom-Cra的学生感到非常舒适。
在包装中设置乘数。
关于柠檬录和柠檬反应应用,您可以单击以下地址以查看详细的文档
柠檬书
柠檬反应应用
柠檬症状和柠檬反应应用完全基于反应式脚本和CRA,并致力于制作React React Junior开发人员,这些开发人员可以在熟悉之前完全用于生产。
由于柠檬书是根据CRA项目扩展的,因此,如果柠檬书无法解决您的问题,则可以查看Create-React-React-App。CRA支持的柠檬将支持它。
原始:https://juejin.cn/post/7103061841705697287