create-react-app的缺点是什么?

问题描述

我必须从头开始构建前端项目。

该项目雄心勃勃,将持续很长时间。在开发的最初几周中,我的主要目标是在良好的基础上开始。

因此,我想知道create-react-app是否是一个好选择,因为它很容易上手并且此工具箱针对生产进行了优化。

但是,如果我使用此解决方案,项目的模块化程度如何?

有人知道使用CRA在项目中是否会出现一些缺陷吗?

我主要担心的是捆扎机。

如果项目越来越大,我是否必须优化CRA的webpack配置?

使用我自己的捆绑器配置从头开始创建我的项目更好吗?

解决方法

CRA是一种轻量级环境,可在客户端(浏览器)上生成HTML。

这意味着它属于客户端渲染(通过Google进行搜索)的优缺点

有关CRA的优势,请参见how to update a field value to another field's value

缺点:

  • 有意识的设置(几乎与所有工具一样)。
  • 难以配置。

我认为没有其他有趣的缺点可以讨论。


非常重要的旁注:开发周期应与生产环境脱钩。

我想解决一些基本问题,因为我看到许多类似的问题。

反应只涉及组成隔离(请参见docsDesign Principles)。意味着您的React组件应在任何环境下均可

因此,在开发应用程序时,您应该专注进行隔离的开发,因此实际上仅需要使用Thinking in React之类的工具进行开发。

我认为新项目的开发周期是

  1. 决定任何环境(例如CRA / Gatsby / Next等)
  2. 独立开发组件(例如使用Storybook)。
  3. 将推送更改为生产环境。
  4. 重复1-2,直到遇到瓶颈(例如,您发现CSR对于您的应用程序效果不佳)。
  5. 切换生产环境(请记住,您的组件应在任何环境下工作)。转到1。

祝你好运。

,

对我来说,我不使用 CRA 的首要原因是没有用于开发/暂存构建的选项。 react-scripts build 将始终将环境设置为生产并生成缩小的构建,不适合在开发/暂存环境中托管。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...